- ベストアンサー
マクロ 列の非表示
マクロで列の非表示を登録し、実行は出来るのですが、そのマクロを列ごとに非表示/表示で複数登録し実行したところ、うまくいきません。 たとえばMACRO1ではA,C:D列を非表示,MACRO2ではA,B,E:Fを非表示に登録し、MACRO1を実行したあと、MACRO2を実行するとおかしくなります。 解決策はありますか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> MACRO1を実行したあと、MACRO2を実行するとおかしくなります。 おかしくなるとはどういうことを言っているのですか? もしMACRO1でA,C:D列を非表示にしたのがそのまま非表示だというのなら、ちっともおかしくないのですが。 もし、いったん全部の列を再表示して再度指定した列だけを非表示にしたいということを言っているならこんな感じでしょうか。 Sub Macro1() With ActiveSheet .Cells.EntireColumn.Hidden = False .Range("A:A,C:D").EntireColumn.Hidden = True End With End Sub Sub Macro2() With ActiveSheet .Cells.EntireColumn.Hidden = False .Range("A:B,E:F").EntireColumn.Hidden = True End With End Sub
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
Macro1、Macro2をそれぞれ実行するときに Sub test01() If Columns("B").Hidden = True Then MsgBox "すでに非表示" Else Columns("B").Hidden = True End If End Sub を指定各列でチェックしてはどうですか。