Excel VBA でチェックボックスのプロパティ(Valueなど)を参照できない原因

原因の1つは、シートが保護されているから。

Unprotectメソッドで保護を解除すれば、チェックボックスのプロパティを参照できるようになります。

例:

ActiveSheet.Unprotect

背景

研究所の業務でExcel VBAを使うことになりました。
業務内容はチェックボックスの集計。

色々調べたり実験したりして目処は立ったのですが、翌日試すと、チェックボックスの値(Value)を参照できずエラーになる事象が発生。。。

例: チェックボックスの値を参照するところ

.CheckBoxes(3).Value

原因と対策

原因を調べてみると、シートが保護されていることのよう。

だから、Unprotectメソッドで保護を解除することにしました。
その結果、エラーにならず値を参照できるように。

例:

With ActiveSheet
     .Unprotect
     .CheckBoxes(3).Value
End With

参考: 保護の解除メソッド (Excel)

ただ、自宅で使っている Excel(Microsoft Office Home and Business Premium)では、保護されたシートでもチェックボックスの値は参照できました。
業務で使っているのは、Excel 2013です。
バージョン依存の問題かも知れませんね。

おわりに

今回は、Excel VBA でチェックボックスのプロパティを参照できない原因と、その対策について説明しました。
今回紹介した対策は、バージョン依存の可能性があります。
Excel 2013以外のバージョンで同様の事象が発生する場合は、その他の点も調べてみて下さい。

では。

この記事が気に入ったらサポートをしてみませんか?