- ベストアンサー
非表示の列をすべて削除するマクロ
こんにちは。 「非表示の行をすべて(一気に)削除するマクロ」は Googleで検索して見つけることができました。 行だけではなく、同時に非表示の列も一気に削除してしまいたいのですが マクロ初心者の為、いろいろいじっていてもエラーになってしまいます。 どなたか、ご教示頂けますでしょうか。 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
非表示の行および列を削除するマクロの一例です。 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
その他の回答 (2)
- fujillin
- ベストアンサー率61% (1594/2576)
行を削除するというマクロがどんなものなのか不明ですが、 基本的にそのマクロのRowのところをColumnにすればできるはず… あとは全体の範囲指定をどうしているかわからないけど、行だと65536行まで、列だとIV列まで(2003まで)という辺りの修正が必要かも。 書き方がによっては、そのままでもOK。
お礼
ご回答ありがとうございました! 回答1の方のお礼にも書かせて頂きましたが、 見よう見まねで行と列を変えてマクロを組んでみて 片方ずつなら出来ました。 ・・・が、両方同時に削除することが出来ず ご相談させて頂きました。
- web2525
- ベストアンサー率42% (1219/2850)
どんなマクロかは解りませんが、行(Rows)を列(Columns)へ変更するだけで出来そうですが?
お礼
ご回答ありがとうございました! 見よう見まねで行と列を変えてマクロを組んでみて 片方ずつなら出来ました。 ・・・が、両方同時に削除することが出来ず ご相談させて頂きました。
お礼
ご回答ありがとうございました! コレです!出来ました!!! 片方ずつしか出来なかったので、 いちいちマクロを1つずつ実行するしかないのかと・・・ 半ば諦めておりました。 使わせて頂きます。 これを機会に、自分でもマクロを勉強してみようと思います! 本当にありがとうございました。