• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マクロ 2つのブック 条件一致 転記)

マクロで2つのブックの条件一致を転記

このQ&Aのポイント
  • 2つのエクセルブックにはIDデータ表とID管理票があります。
  • IDデータ表のIDとID管理票のIDを一致させ、払い出し区分に基づいて日付を転記します。
  • FINDメソッドやオフセットを使用して繰り返し処理を行います。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

順繰り拾って、探して確認して記入する、だけです。 sub macro1()  dim w0 as worksheet, w1 as worksheet  dim h as range, Target as range  set w0 = workbooks("IDデータ表.xls").worksheets("シート名")  set w1 = workbooks("ID管理表.xls").worksheets("シート名") ’データ表のA列を巡回する  for each h in w0.range("A2:A" & w0.range("A65536").end(xlup).row)  ’管理表から探す   set target = w1.cells.find(what:=h.value, lookin:=xlvalues, lookat:=xlwhole)  ’見つけたら処理を行う   if not target is nothing then    select case h.offset(0, 1).value    case "新規"     target.offset(0, 1) = h.offset(0, 2).value    case "変更"     target.offset(0, 2) = h.offset(0, 2).value    case "廃止"     target.offset(0, 3) = h.offset(0, 2).value    case else     'do nothing    end select   end if  next end sub #「新規」や「変更」などが間違いなく記入されてる前提のご相談になってますが、そうでない場合とかも考えます。

samohankinpo
質問者

お礼

keithin様 拙い説明の中コードを記述して頂きありがとうございます!! 分岐の所をifで条件を分けないと駄目だという固定観念に囚われて CASEを使う事,全体で検索する方法等、コードを読み解き参考にさせて頂きます!! ベストアンサーに選ばさせて頂きます #「新規」や「変更」などが間違いなく記入されてる前提のご相談になってますが、 そうでない場合とかも考えます。 新規,変更,廃止はシステムからcsv出力するので決まっています・・・が 文言が違った場合 適宜対応させて頂きます。 お忙しい中 ありがとうございました!!!

関連するQ&A

専門家に質問してみよう