前提・実現したいこと
チェックボックスをActiveXコントロールで作って、
E55に3301か3364を入れると、チェックボックスがオン(True)になり、リンク先のセル(N57)がTure、そうじゃないときはFalseとなるように作って、最後に入力規則が動くよう作れました。
発生している問題・エラーメッセージ
しかし、このコードではセルE55にデータを入れずに、チェックボックスだけオンにしても入力規則が動くように作りたかったのですが、チェックボックスを入れて、他のセルをクリックするとチェックが外れてしまいます。(Falseになります)
恐らく最初のSelect caseのところが足りないような気がしますが、どこが足りないのかわからないです。
### 該当のソースコード Private Sub CheckBox1_Click() With Range("E63").Validation If Range("N57") = True Then Range("E63") = 9 .Delete .Add Type:=xlValidateWholeNumber, _ AlertStyle:=xlValidAlertStop, _ Operator:=xlEqual, _ Formula1:="9" Else .Delete .Add Type:=xlValidateList, _ AlertStyle:=xlValidAlertStop, _ Operator:=xlBetween, _ Formula1:="1, 9" .ShowError = False End If End With End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) Select Case Range("E55").Value Case "3301", "3364" CheckBox1.Value = True Case "" CheckBox1.Value = False Case Else CheckBox1.Value = False End Select End Sub
試したこと
シートの保護を試そうと思ったのですが、できれば他のセルの入力が動くようにしたいので、そうでないで直せるなら解決したいです。
ActiveXでないパターンで作ってみましたが、それでもうまく動かなかったです。
補足情報(FW/ツールのバージョンなど)
Excel2019 VBA
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/01/24 08:49