• ベストアンサー

非表示の列をすべて削除するマクロ

こんにちは。 「非表示の行をすべて(一気に)削除するマクロ」は Googleで検索して見つけることができました。 行だけではなく、同時に非表示の列も一気に削除してしまいたいのですが マクロ初心者の為、いろいろいじっていてもエラーになってしまいます。 どなたか、ご教示頂けますでしょうか。 よろしくお願いいたします。

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

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

非表示の行および列を削除するマクロの一例です。 Sub test() Dim z As Long With ActiveSheet z = .Range("A1").SpecialCells(xlLastCell).Row For i = z To 1 Step -1 If .Rows(i).Hidden Then .Rows(i).Delete Next i For n = Columns.Count To 1 Step -1 If .Columns(n).Hidden Then .Columns(n).Delete Next n End With End Sub

coldfrisk
質問者

お礼

ご回答ありがとうございました! コレです!出来ました!!! 片方ずつしか出来なかったので、 いちいちマクロを1つずつ実行するしかないのかと・・・ 半ば諦めておりました。 使わせて頂きます。 これを機会に、自分でもマクロを勉強してみようと思います! 本当にありがとうございました。

その他の回答 (2)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

行を削除するというマクロがどんなものなのか不明ですが、 基本的にそのマクロのRowのところをColumnにすればできるはず… あとは全体の範囲指定をどうしているかわからないけど、行だと65536行まで、列だとIV列まで(2003まで)という辺りの修正が必要かも。 書き方がによっては、そのままでもOK。

coldfrisk
質問者

お礼

ご回答ありがとうございました! 回答1の方のお礼にも書かせて頂きましたが、 見よう見まねで行と列を変えてマクロを組んでみて 片方ずつなら出来ました。 ・・・が、両方同時に削除することが出来ず ご相談させて頂きました。

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.1

どんなマクロかは解りませんが、行(Rows)を列(Columns)へ変更するだけで出来そうですが?

coldfrisk
質問者

お礼

ご回答ありがとうございました! 見よう見まねで行と列を変えてマクロを組んでみて 片方ずつなら出来ました。 ・・・が、両方同時に削除することが出来ず ご相談させて頂きました。

関連するQ&A