[[20070424211615]] 『非表示列や行を一気に削除したい』  ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『非表示列や行を一気に削除したい』

 列や行が一部非表示になっている表があります。
 その表を非表示がない状態(非表示の部分を削除)にしたいのですが、
 非表示部分を再表示をさせて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.