前提・実現したいこと
excelVBAを使い、2つのエクセルファイルに2次元配列を書き込みたいです。
VBAが書き込まれている実行する用のexcelファイルと、記録用のexcelファイルの二つがあり、
両方のファイルのシートに2次元配列を用いて書き込みを行いたいのですが、
”Worksheets("Sheet1").Range(Cells(1, 1), Cells(3, 1)).Value = tmp”
の部分で、実行する用のexcelファイル(自分自身)のシートの指定ができず、書き込みが行えません。
何かいい方法はないでしょうか?
※補足1
セルの範囲を指定する際には変数を使いたいので、Rangeとcellを組み合わせて範囲指定を行いたいです。
該当のソースコード
VBA
1Sub test() 2 3 Dim tmp() As Variant 4 ReDim tmp(2, 0) 5 6 'excelファイルを開く 7 Dim wb As Workbook 8 Set wb = Workbooks.Open("C:\~\test1.xlsx") 9 10 tmp(0, 0) = "A" 11 tmp(1, 0) = "B" 12 tmp(2, 0) = "C" 13 14 'シートに配列tmp()を貼り付ける 15 wb.Worksheets("Sheet1").Range(Cells(1, 1), Cells(3, 1)).Value = tmp 16 Worksheets("Sheet1").Range(Cells(1, 1), Cells(3, 1)).Value = tmp 17 18 'excelファイル(DB用)を閉じる 19 wb.Close SaveChanges:=True 20 21End Sub
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/17 01:12