• ベストアンサー

Excel VBA 2007: アクティブセルが非表示かどうか?

いつもお世話になっております。 アクティブセルが非表示かどうかは ActiveCell.Hidden でいいと思うのですが、たとえば sub test() If ActiveCell.Hidden Then Msgbox "Hidden" End sub のようなマクロを実行すると、ActiveCell.Hidden で 「実行時エラー 1004 Range クラスの Hidden プロパティを取得できません」 と怒られます。 何かわかりましたらご教示ください。 よろしくお願いします!

質問者が選んだベストアンサー

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

Sub try() If ActiveCell.EntireRow.Hidden = True Then MsgBox "行が非表示" If ActiveCell.EntireColumn.Hidden = True Then MsgBox "列が非表示" End Sub とか?

TYWalker
質問者

お礼

了解です。ありがとうございました!

その他の回答 (1)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

回答はすでに出ていますが、なぜ怒られたかというと、セル(Range)にHiddenプロパティがないからでしょう。 だって、シート上で一つのセルや一部の範囲を非表示にできませんよね。 かならず行または列で非表示設定するはずですから。

TYWalker
質問者

お礼

了解です! ありがとうございます。 Hiddenにカーソルを入れてF1を押すとRange.Hidden プロパティのヘルプが表示されるので安心していましたが、ヘルプの中をよく読むと「列全体または行全体を対象とする必要があります。」と書いてありました。。。 お騒がせしました。 ただ、値の設定は確かにその通りですが、値の取得はできてもいいような気もしますね・・・。 列全体を非表示にした結果の、ある一部の非表示状態を知りたいかもしれないし、列と行を十字架状に非表示にした、その交点のセルで呼ぶかもしれないので。。。(へりくつでしょうか ^^;

関連するQ&A

専門家に質問してみよう