Sub Sample7()
Dim filePath As Variant
filePath = Application.GetOpenFilename _
(FileFilter:="Excelブック(.xlsx;.xlsm),*.xlsx; *.xlsm; *.xls", MultiSelect:=True)
Dim trgt As Variant Set trgt = Workbooks("a").Sheets("b") Dim wb As Workbook
If IsArray(filePath) Then
For Each wb In filePath
If Dir(wb) = "123" Then
Set wb = Workbooks.Open("123")
wb.Sheets(2).Range("J19:Q20") = trgt.Range("D55:K56")
wb.Sheets(2).Range("J21:Q22") = trgt.Range("D58:K59")
wb.Close
End If
If Dir(wb) = "456" Then Set wb = Workbooks.Open("456") wb.Sheets(2).Range("J19:Q21") = trgt.Range("D60:K62") wb.Close End If
.
.
.
.
If Dir(wb) = "789" Then
Set wb = Workbooks.Open("789")
wb.Sheets(2).Range("J19:Q21") = trgt.Range("D63:K65")
wb.Close
End If
Next
End If
どうしてもわからないのでご教授ください。
GetOpenFilenameで複数のファイル選択をし、ファイルを全て開いて、処理する
ではなく
複数のファイル選択後、一つファイルを開き処理し閉じる、一つファイルを開き処理し閉じる、としたいです。
また、Ifステートメントを使用して、ファイルが存在しない場合は処理を無視するとしたいです。
GetOpenFilenameでパスを取得しているので、そこを活用するのかと思いますが、どうしてもわかりません。
どなたかご教授お願いします。
回答2件
あなたの回答
tips
プレビュー