• 締切済み

2つのエクセルでのMatchについて

VBA初心者です。よろしくお願いします。 ファイルが異なるエクセルファイルがあります。 シート1のデータをシート2のデータにMatchさせてコピーしたいのですが良い方法が見つかりません。

みんなの回答

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

こんな感じでしょうか。 Sub ボタン1_Click() With Worksheets("Sheet2") Set d = .Rows("1:1").Find("") d.Value = Date End With GYOU = 2 Do Until Worksheets("Sheet1").Cells(GYOU, 1).Value = "" With Worksheets("Sheet2") Set c = .Columns("A:A").Find(Worksheets("Sheet1").Cells(GYOU, 1).Value) If c Is Nothing Then MsgBox ("検索に該当するデータがありません") Else .Cells(c.Row, d.Column).Value = Worksheets("Sheet1").Cells(GYOU, 6).Value'6列目に金額が入っているとして End If End With GYOU = GYOU + 1 Loop End Sub シート名はSheet1とSheet2になっています。 新しいブックにサンプルのデータ入れて試してみてください。

pinky-NO
質問者

お礼

hallo-2007様 お世話になっております。 お返事が遅くなりまして申し訳ありません。 大変勉強になりました。 お忙しい所初心者な私に親切にしていただいて本当にありがとうございました。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

質問が理解できません。 >シート1のデータをシート2のデータにMatchさせてコピーしたいのですが良い方法が見つかりません。 シート1に どのようなデータがあって シート2に どのようなデータで どのような結果が希望なのでしょうか? 具体的な例をシートで表示してもらった方が良いと思います。

pinky-NO
質問者

補足

お返事遅くなりまして申し訳ありません。 補足させて頂きます。よろしくお願いします。 パス名が違う2つのエクセルファイルがあります。 シート1(当月) 都道府県_市外局番|住所|連絡先|・・・|入金額| 東京都_03|東京都新宿区…|03-1111-1111|5000| 千葉県_04|千葉県柏市…|04-1111-1111|10000|  シート2(管理表過去分)               入    金    額 都道府県_市外局番 ・・・|入金過去1|入金過去2|入金過去3 神奈川県_045|      |    |    | 東京都_03|        |   |     | と解りづらいかもしれませんが2つのシートがあります。 都道府県_市外局番でMatchさせシート2の履歴(過去)の部分へ貼り付けをしたいのです。 月が替われば履歴過去がひとつ横にずれるようなマクロを作成出来れば 幸いです。会社のPCでは規制がかかってる為お返事が遅くなる場合が ありますが、どうかよろしくお願い致します。

関連するQ&A