- ベストアンサー
Excel VBA 2007: アクティブセルが非表示かどうか?
いつもお世話になっております。 アクティブセルが非表示かどうかは ActiveCell.Hidden でいいと思うのですが、たとえば sub test() If ActiveCell.Hidden Then Msgbox "Hidden" End sub のようなマクロを実行すると、ActiveCell.Hidden で 「実行時エラー 1004 Range クラスの Hidden プロパティを取得できません」 と怒られます。 何かわかりましたらご教示ください。 よろしくお願いします!
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Sub try() If ActiveCell.EntireRow.Hidden = True Then MsgBox "行が非表示" If ActiveCell.EntireColumn.Hidden = True Then MsgBox "列が非表示" End Sub とか?
その他の回答 (1)
- merlionXX
- ベストアンサー率48% (1930/4007)
回答はすでに出ていますが、なぜ怒られたかというと、セル(Range)にHiddenプロパティがないからでしょう。 だって、シート上で一つのセルや一部の範囲を非表示にできませんよね。 かならず行または列で非表示設定するはずですから。
お礼
了解です! ありがとうございます。 Hiddenにカーソルを入れてF1を押すとRange.Hidden プロパティのヘルプが表示されるので安心していましたが、ヘルプの中をよく読むと「列全体または行全体を対象とする必要があります。」と書いてありました。。。 お騒がせしました。 ただ、値の設定は確かにその通りですが、値の取得はできてもいいような気もしますね・・・。 列全体を非表示にした結果の、ある一部の非表示状態を知りたいかもしれないし、列と行を十字架状に非表示にした、その交点のセルで呼ぶかもしれないので。。。(へりくつでしょうか ^^;
お礼
了解です。ありがとうございました!