異なるワークブック間でデータのコピーを実行しようとしています。ユーザーにはファイル名を選択するオプションが与えられているため、ワークブックの名前はたまたまランダムだったので、コードで一連のワークブックを作成しました。プログラムにサブルーチンを含めたとき、添え字が範囲外と表示されました。
サブルーチンがワークブックの私の定義を理解し続けることを確実にする方法についてのアイデアはありますか?
最初のサブの背後にある理論的根拠をよく理解していない場合に備えて、私のコードは単純化されています。
Option Explicit
Sub testwe()
Dim wb As Workbook, wb2 As Workbook, vFile As Variant
Set wb = ActiveWorkbook
vFile = Application.GetOpenFilename("Excel-files,*.xls", _
1, "Select One File To Open", , False)
'if the user didn't select a file, exit sub
If TypeName(vFile) = "Boolean" Then Exit Sub
Workbooks.Open vFile
Set wb2 = ActiveWorkbook 'set the opened file as wb2
Call test123
End Sub
sub test123()
wb.Worksheets("Sheet1").Range("A1") = wb2.Worksheets("Sheet1").Range("B1")
End Sub