【VBA】非表示シートを高速に抽出する方法
日々の業務で大量のデータを扱う際、特定の条件に合致する非表示シートを素早く見つけることは非常に重要です。この記事では、VBAを使用して非表示のシートを高速に抽出する方法を紹介します。画面更新停止機能も利用することで、処理時間を大幅に短縮できます。
サンプルコード
VBA
Option Explicit
Sub ExtractHiddenSheets()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
' 画面更新を停止
Application.ScreenUpdating = False
' 新しいシートを作成し、ヘッダーを設定
Set ws = ThisWorkbook.Sheets.Add
ws.Name = "抽出結果"
ws.Range("A1").Value = "シート名"
' 非表示のシートを列Aに順次挿入
lastRow = 2
For i = 1 To ThisWorkbook.Sheets.Count
If ThisWorkbook.Sheets(i).Visible = xlSheetHidden Or ThisWorkbook.Sheets(i).Visible = xlSheetVeryHidden Then
ws.Range("A" & lastRow).Value = ThisWorkbook.Sheets(i).Name
lastRow = lastRow + 1
End If
Next i
' 画面更新を再開
Application.ScreenUpdating = True
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
シート名や列番号が正しいか確認してください。