📘 Excel逆引き事典

【VBA】非表示シートをエラー処理付きで配列に格納する方法

日々の業務で大量のデータを扱う際、非表示のワークシートも管理したいことがあります。しかし、エラーが発生すると作業が中断してしまう可能性があります。この記事では、非表示のワークシートを安全かつ効率的に配列に格納する方法を紹介します。

サンプルコード

VBA
Option Explicit
Sub StoreHiddenSheetsToArray()
    Dim ws As Worksheet
    Dim sheetArray() As String
    ReDim sheetArray(1 To ThisWorkbook.Sheets.Count)
    Dim i As Integer
    i = 0
    For Each ws In ThisWorkbook.Worksheets
        If ws.Visible = xlSheetHidden Then
            i = i + 1
            ReDim Preserve sheetArray(1 To i)
            sheetArray(i) = ws.Name
        End If
    Next ws
    MsgBox "非表示シートの配列に格納完了。", vbInformation
End Sub

よくある質問

Q 元に戻せますか?

A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。

Q エラーが出たら?

A.
シート名や列番号が正しいか確認してください。