前提・実現したいこと
いつもお世話になっております。VBAに関する質問です。
複数のファイルを開いて1つのシートに集計をするため、ファイルを配列に入れて処理をしたのですが、配列に入れたファイルがない場合に処理が止まってしまいます。
そこで、条件などを付けてファイルを開く方法を知りたいです。
発生している問題・エラーメッセージ
インデックスが有効範囲にありません。
該当のソースコード
VBA
1Dim strFiles() As String 2 Dim i As Integer 3 Dim fileNum As Integer 4 5 With Application.FileDialog(msoFileDialogOpen) 6 .AllowMultiSelect = True 7 8 .Filters.Clear 9 .Filters.Add Description:="全てのファイル", Extensions:="*.*" 10 11 .Title = "ファイルを開く" 12 13 If Not .Show Then Exit Sub 14 15 fileNum = .SelectedItems.Count 16 ReDim strFiles(1 To fileNum) 17 18 For i = 1 To fileNum 19 strFiles(i) = .SelectedItems(i) 20 Next i 21 22 End With 23 24'処理をするファイルを複数指定 25 26Workbooks.Open strFiles(1) 27'処理1 28Workbooks.Open strFiles(2) 29'処理2 30Workbooks.Open strFiles(3) 31'処理3 32 33'選択したファイルが2つだと、Workbooks.Open strFiles(3) で上記のエラーメッセージが出る。 34
試したこと
補足情報(FW/ツールのバージョンなど)
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。