Excel VBA でチェックボックスのプロパティ(Valueなど)を参照できない原因
原因の1つは、シートが保護されているから。
Unprotectメソッドで保護を解除すれば、チェックボックスのプロパティを参照できるようになります。
例:
ActiveSheet.Unprotect
背景
研究所の業務でExcel VBAを使うことになりました。
業務内容はチェックボックスの集計。
色々調べたり実験したりして目処は立ったのですが、翌日試すと、チェックボックスの値(Value)を参照できずエラーになる事象が発生。。。
例: チェックボックスの値を参照するところ
.CheckBoxes(3).Value
原因と対策
原因を調べてみると、シートが保護されていることのよう。
だから、Unprotectメソッドで保護を解除することにしました。
その結果、エラーにならず値を参照できるように。
例:
With ActiveSheet
.Unprotect
.CheckBoxes(3).Value
End With
ただ、自宅で使っている Excel(Microsoft Office Home and Business Premium)では、保護されたシートでもチェックボックスの値は参照できました。
業務で使っているのは、Excel 2013です。
バージョン依存の問題かも知れませんね。
おわりに
今回は、Excel VBA でチェックボックスのプロパティを参照できない原因と、その対策について説明しました。
今回紹介した対策は、バージョン依存の可能性があります。
Excel 2013以外のバージョンで同様の事象が発生する場合は、その他の点も調べてみて下さい。
では。
この記事が気に入ったらサポートをしてみませんか?