0

あるシートから別のブックの別のシートに配列をコピーするために、SUB に渡すことができる変数を使用したいと考えています。変数がなければ、これは私にとってはうまくいきます:

Dim RNG1 as Range, RNG2 as Range
Sub CopyRange()
    Set RNG1 = Workbooks("Program.xlsm").Sheets("Input").Range("G9:G19")
    Set RNG2 = Workbooks("Data.xlsx").Sheets("Reformatted").Range("A3:A13")
    RNG1.Copy RNG2
End Sub

「Data.xlsx」を変数としてSUBに渡せるようにしたいです。String 変数を使用してみましたが、解決策が見つかりませんでした。

どんな助けでも大歓迎です。

4

2 に答える 2

0

これはどう?

Dim RNG1 As Range, RNG2 As Range
Sub test()
    Call CopyRange(Workbooks("Data.xlsx"))
End Sub

Sub CopyRange(ByRef wb As Excel.Workbook)
    Set RNG1 = Workbooks("Program.xlsm").Sheets("Input").Range("G9:G19")
    Set RNG2 = wb.Sheets("Reformatted").Range("A3:A13")
    RNG1.Copy RNG2
End Sub
于 2013-10-24T21:32:33.443 に答える