[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『非表示列や行を一気に削除したい』
列や行が一部非表示になっている表があります。 その表を非表示がない状態(非表示の部分を削除)にしたいのですが、 非表示部分を再表示をさせて1列ずつ削除するのではなく、 一気に削除する方法はありますか?
ちなみに表は結合している部分もあるので、 可視セルのコピーではない方法でお願いします。
(ひだまり)
これでうまく行きますか? 元に戻せなくなりますので、コピーでお試し下さい。 (ROUGE) '---- Sub test() Dim i As Long For i = Columns.Count To 1 Step -1 With Cells(1, i).EntireColumn If .Hidden Then .Delete xlToLeft End With Next For i = Rows.Count To 1 Step -1 With Cells(i, 1).EntireRow If .Hidden Then .Delete xlUp End With Next End Sub
こんなのも...
Sub test() With Rows(1) .SpecialCells(12).EntireColumn.Select .Cells.EntireColumn.Hidden = False .Selection.Hidden = True .SpecialCells(12).EntireColumn.Delete .Cells.EntireColumn.Hidden = False End With With Columns(1) .SpecialCells(12).EntireRow.Select .Cells.EntireRow.Hidden = False .Selection.Hidden = True .SpecialCells(12).EntireRow.Delete .Cells.EntireRow.Hidden = False End With End Sub (seiya)
ROUGEさんへ
ROUGEさんのマクロで成功しました! どうもありがとうございます。 ちなみにこのように非表示をカットしたいファイルが 100ほどあるのですが、そういう場合は全部のファイルを 開いておいて、マクロを「開いてあるファイル全て」で保存し、 その後、1ファイルずつ実行するしかないでしょうか?
seiyaさんへ
お返事ありがとうございます。 私自身は自分でマクロを作ることができないので、 コピーして試すことしか出来ませんが、 どうやら不具合があるようです。
(ひだまり)
同じフォルダに入っているのであれば、これでいけますか?(ROUGE) '---- Sub test() Dim fn As String, wb As Workbook, ws As Worksheet, i As Long fn = Dir(ThisWorkbook.Path & "\*.xls") Do While fn <> "" If fn <> ThisWorkbook.Name Then Set wb = Workbooks.Open(ThisWorkbook.Path & "\" & fn) For Each ws In wb.Worksheets With ws For i = Columns.Count To 1 Step -1 With .Cells(1, i).EntireColumn If .Hidden Then .Delete xlToLeft End With Next For i = Rows.Count To 1 Step -1 With .Cells(i, 1).EntireRow If .Hidden Then .Delete xlUp End With Next End With Next wb.Close True End If fn = Dir() Loop Set wb = Nothing End Sub
RUGEさんへ
6個のファイルを、ひとつのフォルダにいれて試してみました。 1.ひとつだけファイルを開く 2.標準モジュールにマクロを貼り付け閉じる 3.マクロの実行(マクロの保存先:開いているブック全て)
上記の操作手順であっていますか???
6個のファイルのうち、マクロを貼り付けたファイルだけ 非表示セルの削除ができてませんでした。
(ひだまり)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.