【VBA】非表示シートをバックグラウンドで取得する方法
毎日大量のデータを扱う実務では、非表示のシートから必要な情報を素早く取り出すことが求められます。この記事では、VBAを使ってバックグラウンドで非表示のシートからデータを取得し、業務効率化を図る方法を紹介します。
サンプルコード
VBA
Option Explicit
Sub GetHiddenSheetData()
Dim ws As Worksheet, targetWs As Worksheet
Dim lastRow As Long, i As Long
' バックグラウンド処理のために画面更新を停止
Application.ScreenUpdating = False
Set ws = ThisWorkbook.Sheets("HiddenSheet")
If Not ws Is Nothing Then
If ws.Visible = xlSheetHidden Or ws.Visible = xlSheetVeryHidden Then
' 非表示のシートからデータ取得
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
For i = 1 To lastRow
Debug.Print ws.Cells(i, 1).Value & vbTab & ws.Cells(i, 2).Value ' デバッグ用に出力
Next i
End If
Else
MsgBox "指定のシートが見つかりません。", vbExclamation
End If
' 画面更新を再開
Application.ScreenUpdating = True
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
シート名や列番号が正しいか確認してください。