ワークシートベースのチェックボックスがオンになっているかどうかを確認する 質問する

ワークシートベースのチェックボックスがオンになっているかどうかを確認する 質問する

IF 句を使用して、「Check Box 1」という名前のチェックボックスがチェックされているかどうかを判断しようとしています。

現在のコード:

Sub Button167_Click()
 If ActiveSheet.Shapes("Check Box 1") = True Then
 Range("Y12").Value = 1
 Else
 Range("Y12").Value = 0
 End If
End Sub

これは機能しません。デバッガーは問題があると言っています。

ActiveSheet.Shapes("Check Box 1")

ただし、このコードは機能することがわかっています (目的が異なりますが)。

ActiveSheet.Shapes("Check Box 1").Select
With Selection
.Value = xlOn

私のチェックボックス (ページには 200 個あります) は、sheet1 に「Demande」という名前で配置されています。各チェックボックスには、「Check Box ...」という同じ形式の名前が付けられています。

ベストアンサー1

Sub Button167_Click()
 If ThisWorkbook.Worksheets(1).Shapes("Check Box 1").OLEFormat.Object.Value = 1 Then
 Range("Y12").Value = 1
 Else
 Range("Y12").Value = 0
 End If
End Sub

1 はチェック済み、-4146 はチェックなし、2 は混合 (灰色のボックス)

おすすめ記事