0

しばらくの間、私はこれを機能させようとしてきましたが、徹底的なインターネット検索にもかかわらず、答えは私を逃れ続けています. いくつかのテキストボックスとチェックボックスを使用して、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 つのオプションは、すべてのボックスを再度オンにすることです。多くの人がこのフォームを使用する予定であり、時間がかかり、非現実的であるため、これは私が望んでいることではありません. チェックボックスを有効化/有効化する方法はありますか?

4

1 に答える 1