|
こんばんわ、りんさん。
頭が爆発してしまいそうですが、私なりに考えてみました。
>Sub test()
> Dim sh As Shape, sh2 As ControlFormat
> For Each sh In ActiveSheet.Shapes
↑図形を格納
> If sh.Type = msoFormControl Then
↑格納した図形はチェックボックスかどうか判定
> If sh.FormControlType = xlCheckBox Then
↑チェックボックスの中身を判定?
> Select Case sh.ControlFormat.Value
> Case 1: Msg = "チェックあり" 'TRUE
↑オンの時は『1』を返しますよね?
> Case -4146: Msg = "チェックなし" 'FALSE
↑??
> Case Else: Msg = "淡色表示 " '#N/A(淡色)
> End Select
> MsgBox Msg, vbInformation, sh.Name
> End If
> End If
> Next
>End Sub
と、いうように見てみましたが、やっぱり間違ってます?(汗)
オフの時の記述ですが、『-4146』になってますよね?
これってVBAの決まり事なのですか?
てっきりオフのときは『0』かと思ってましたが。。。
あと変数『sh2』はどこで使っているのでしょう?
すみませんが、教えてください。
よろしくお願いします。
|
|