• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBAで別のファイルの値を代入する記述)

エクセルVBAで別のファイルの値を代入する方法

このQ&Aのポイント
  • エクセルVBAで別のファイルの値を直接書き出す方法について教えてください。
  • 現在、複数のファイルを対象に処理するVBAコードを作成していますが、思うような結果が得られません。アドバイスをお願いします。
  • または、ファイルBのC列をファイルAにコピー&ペーストする方法があれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.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

smi
質問者

お礼

回答ありがとうございます。 おかげさまで理想の結果を得られました。 勉強になりました。配列とSetの記述、自分で活用できるようにスキルアップしたいと思います。