【VBA】開いている全ブックをエラー処理付きで配列に格納する方法
日々の業務で、大量のExcelファイルを扱うことは珍しくありません。しかし、これらのファイルを一つ一つ手作業で管理するのは効率が悪く、ミスも増えます。この記事では、開いているすべてのワークブックを配列に格納するVBAマクロを作成し、業務を効率化します。
サンプルコード
VBA
Option Explicit
Sub GetOpenWorkbooksToArray()
Dim wbArray() As Variant
ReDim wbArray(0 To Workbooks.Count - 1)
Dim i As Integer, j As Integer
j = 0
On Error Resume Next
For Each wb In Workbooks
If Not wb.Name Like "*Book*" Then '開いているブックで、'Book1', 'Book2'などのデフォルト名のワークブックは除外します。
wbArray(j) = wb.Name
j = j + 1
End If
Next wb
ReDim Preserve wbArray(0 To j - 1)
On Error GoTo 0
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
コード内のエラーハンドリング部分(
On Error Resume Next)により、一般的なエラーは無視されます。それでも問題が続く場合は、具体的なエラー内容を確認し、対応してください。