- ベストアンサー
エクセルVBAで別のファイルの値を代入する方法
- エクセルVBAで別のファイルの値を直接書き出す方法について教えてください。
- 現在、複数のファイルを対象に処理するVBAコードを作成していますが、思うような結果が得られません。アドバイスをお願いします。
- または、ファイルBのC列をファイルAにコピー&ペーストする方法があれば教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
作業が複数のシート、複数のBOOKにまたがるなら、具体的に明示しなければなりません。 一例です。 マクロを記述したファイルBを、wb(0) ファイルAをwb(1) データがあるのがwb(0)のSheet1として、これをws(0) 書き出し先を、wb(1)のSheet1として、これをws(1) と、それぞれ定義しています。 Workbooks("ファイルA.xls")は開いているものとしますが、もし開いてないなら、開くコードを書かなければなりません。 Sub tes2() Dim wb(1) As Workbook Dim ws(1) As Worksheet Dim i As Integer Dim k As Integer Dim x As Integer Dim y As Integer Set wb(0) = ThisWorkbook Set wb(1) = Workbooks("ファイルA.xls") Set ws(0) = wb(0).Sheets("Sheet1") Set ws(1) = wb(1).Sheets("Sheet1") With ws(0).UsedRange lastrow = .Cells(.count).Row End With With ws(1) x = 2 For i = 2 To lastrow k = ws(0).Cells(i, 2) For k = 1 To k .Cells(x, 3) = ws(0).Cells(i, 1) x = x + 1 Next k Next i End With End Sub
お礼
回答ありがとうございます。 おかげさまで理想の結果を得られました。 勉強になりました。配列とSetの記述、自分で活用できるようにスキルアップしたいと思います。