|
「ファイルを開く」ダイアログを表示させ、そのファイルから、「マクロ.xls」(マクロが保存してあるファイル)の[データ]シートへコピーペーストするというマクロですが、以下のように作成すると、開いたファイルを見に行ってくれません。
どのように記述したらよいのでしょうか?
ちなみに、「OpenFileName」ではなく、ファイルを指定すると、以下のマクロでも正常に実行されるのですが。。。
---------------------------------------
Sub マクロA()
Dim WB1 As Object, WB2 As Workbook
Dim R As Variant
Application.ScreenUpdating = False
OpenFileName = Application.GetOpenFilename("すべてのファイル,*.*")
If OpenFileName <> False Then
Workbooks.Open OpenFileName
Else
End
End If
Set WB1 = Workbooks("マクロ.xls").Sheets("データ")
Set WB2 = Workbooks(Dir(OpenFileName))
For Each R In WB1.Range("B3:H3")
On Error Resume Next
WB2.Sheets(R.Text).Range("AD20:AD22").Copy
R.Offset(1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
WB2.Sheets(R.Text).Range("F37").Copy
R.Offset(4).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
WB2.Sheets(R.Text).Range("AF6").Copy
R.Offset(5).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
If Err.Number <> 0 Then
MsgBox "指定のシートはありません"
GoTo 999
End If
Next
999:
On Error GoTo 0
Err.Clear
Set WB1 = Nothing
Set WB2 = Nothing
Application.CutCopyMode = False
End Sub
---------------------------------------
|
|