【VBA】全てのシートをエラー処理付きで配列に格納する方法
日々の業務で大量のシートを扱う際、一つ一つ手作業で処理するのは効率が悪いだけでなく、ミスも増えます。この記事では、Excel VBAを使って全てのシートを安全かつ効率的に配列に格納する方法を紹介します。これにより、業務の自動化と高速化を実現できます。
サンプルコード
VBA
Option Explicit
Sub SheetsToArray()
Dim ws As Worksheet, arr() As Variant
Dim i As Integer, numSheets As Integer
' エラー処理開始
On Error GoTo ErrorHandler
Application.ScreenUpdating = False
' 配列の初期化とシート数取得
ReDim arr(1 To ThisWorkbook.Sheets.Count)
numSheets = ThisWorkbook.Sheets.Count
i = 1
' 全てのシートを配列に格納
For Each ws In ThisWorkbook.Sheets
arr(i) = ws.Name
i = i + 1
Next ws
' 完了メッセージ表示
MsgBox "全てのシートが配列に格納されました。", vbInformation
Application.ScreenUpdating = True
Exit Sub
ErrorHandler:
MsgBox Err.Description, vbExclamation
Application.ScreenUpdating = True
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
シート名や列番号が正しいか確認してください。それでも解決しない場合は、コード内のエラーハンドリング部分で具体的なメッセージが表示されるので、その内容に従って対処してください。