[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『非表示列や行を一気に削除したい』
列や行が一部非表示になっている表があります。 その表を非表示がない状態(非表示の部分を削除)にしたいのですが、 非表示部分を再表示をさせて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.