• ベストアンサー

マクロ:A列が表示→非表示/非表示→表示

条件分岐のマクロを作りたいです。 もしもA列とD列が 表示されている場合は、このボタンを押すと、それらの列がHIDEになる。 もしも隠れている場合は、このボタンを押すと、それらの列が再表示される。 ・・このようなマクロの式を、教えてください・・。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

隠れてるか隠れてないか二択なので、条件分岐とかしなくても sub macro1()  columns(1).hidden = not columns(1).hidden  columns(4).hidden = not columns(4).hidden end sub とかで十分です。

penichi
質問者

お礼

シンプルで美しいですね・・。 うまく行きました。 ご回答、どうもありがとうございました!

その他の回答 (3)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.4

>もしもA列とD列が 表示されている場合は、このボタンを押すと、それらの列がHIDEになる。 マクロにする必要ありますか? EXCELの機能にありますけど。。。 [データ][グループ化]でA:Dセルを設定すれば、E列上の+(表示)、-(非表示)ボタンでON/OFFを切り替えられます。。。

penichi
質問者

お礼

データというものを、知りませんでした・・・。 今回はマクロにしますが、 今後の参考とさせていただきます。 ありがとうございました! 

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.2

マクロの記録で列を非表示にした結果を参考にして、 Sub Module1()  If Range("A:A").EntireColumn.Hidden = False Then   Range("A:A,D:D").EntireColumn.Hidden = True  Else   Range("A:A,D:D").EntireColumn.Hidden = False  End If End Sub とか。 > もしもA列とD列が 表示されている場合は、 A列の表示/非表示で判定しています。

penichi
質問者

お礼

ご回答、どうもありがとうございました! このようなコードを探していました。 コラムの選び方など、マクロ言葉では、知らなかったので、とても参考になりました。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

やりたいことを「マクロの記録」でコードにして、 ボタンに関連付ける。多少手直しが必要ですが。 EXCEL2007以降なら、開発の中に、 EXCEL2003までなら、メニューのツール>マクロにあります。

penichi
質問者

お礼

そのコードを知りたかったので、助かりました。 ご回答、どうもありがとうございました!

関連するQ&A