📘 Excel逆引き事典

【VBA】特定の名前のシートをエラー処理付きで配列に格納する方法

日々の業務で大量のデータを扱う際、特定のシートだけを選んで処理したいことはありませんか?手作業では時間がかかりますが、この記事ではVBAを使って指定した名前のシートを安全かつ効率的に配列に格納する方法をお伝えします。これにより、業務効率が大幅に向上します。

サンプルコード

VBA
Option Explicit
Sub SheetToArray()
    Dim ws As Worksheet, sheetName As String
    Dim arr() As Variant
    Dim i As Long
    
    ' シート名を指定
    sheetName = "Sheet1"
    
    On Error GoTo ErrorHandler
    Set ws = ThisWorkbook.Sheets(sheetName)
    ReDim arr(1 To ws.UsedRange.Rows.Count, 1 To ws.UsedRange.Columns.Count)
    For i = 1 To UBound(arr)
        arr(i) = Application.Transpose(ws.Range("A" & i & ":Z" & i).Value)
    Next i
    
    ' 配列の処理(ここに追加の処理を記述)
    MsgBox "配列に格納完了"
    Exit Sub
ErrorHandler:
    MsgBox "指定したシート名が見つかりません。", vbExclamation
End Sub

よくある質問

Q 元に戻せますか?

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

Q エラーが出たら?

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