しばらくの間、私はこれを機能させようとしてきましたが、徹底的なインターネット検索にもかかわらず、答えは私を逃れ続けています. いくつかのテキストボックスとチェックボックスを使用して、VBA Excel で userForm を作成しました。これらの値は、Excel ファイルのシートに送信されます。チェックボックスはカテゴリを表すため、複数の選択肢を選択できます。値は、シートに送信される前に true = "x" および false = "" に変換されます。
If userForm.checkbox1.Value = True Then
ws.Rows.Cells(row, 9).Value = "X"
Else
ws.Rows.Cells(row, 9).Value = ""
End If
シートに入力された情報は、ほぼ同じ userForm を使用して取得および編集できます。このフォームには、目的の行を呼び出すことができる行選択ボックスがあり、対応するデータがユーザーフォームに入力されます。「x」は次のように翻訳されます。
If ws1.Rows.Cells(row, 9).Value = "X" Then
userFormedit.checkbox1.Value = True
Else
userFormedit.checkbox1.Value = False
End If
問題は、選択したチェックボックスに目的の値が表示されますが、灰色で表示されることです。情報をシートに送り返すとき、これらの値は「表示」されません。そのため、シートではこれらの値が消えます。1 つのオプションは、すべてのボックスを再度オンにすることです。多くの人がこのフォームを使用する予定であり、時間がかかり、非現実的であるため、これは私が望んでいることではありません. チェックボックスを有効化/有効化する方法はありますか?