• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルのマクロで検索・抽出したデータを修正及び更新して元データに反映)

エクセルマクロで検索・抽出したデータを修正・更新して元データに反映

このQ&Aのポイント
  • エクセルのマクロを使用して検索・抽出したデータを修正・更新し、元データに反映させる方法を教えてください。
  • エクセルのマクロを使って、検索・抽出したデータを修正・更新して元データに反映させる方法について教えてください。
  • エクセルのマクロを活用して、検索・抽出したデータを修正・更新し、元データに反映させる方法を教えてください。

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

  • ベストアンサー
  • myRange
  • ベストアンサー率71% (339/472)
回答No.2

質問者のレベルではChangeイベントはちょと難しいかも。。(^^;;; で、Sheet2に抽出後、修正データを入れ、 それが正しいかどうか確認した後に、Sheet1へ転記する方がいいかも。 '------------------------------------------------  Sub 更新()  Dim R1 As Long  Dim R2 As Long For R2 = 5 To Sheets("Sheet2").Cells(Rows.Count, "A").End(xlUp).Row  For R1 = 2 To Sheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row  If Sheets("Sheet1").Cells(R1, "A") = Sheets("Sheet2").Cells(R2, "A") And _    Sheets("Sheet1").Cells(R1, "B") = Sheets("Sheet2").Cells(R2, "B") And _    Sheets("Sheet1").Cells(R1, "D") = Sheets("Sheet2").Cells(R2, "C") Then    Sheets("Sheet1").Cells(R1, "E") = Sheets("Sheet2").Cells(R2, "D")    Sheets("Sheet1").Cells(R1, "F") = Sheets("Sheet2").Cells(R2, "E")    Exit For  End If  Next R1 Next R2 End Sub '------------------------------------------- 一行のコードが長くなるのでRangeのValueプロパティは省いてあります。 それから処理の流れには関係ないことですが、 シートを扱うために変数を使うとコードが短くすっきりなります。   Dim WS1 As Worksheets   Set WS1 = Worksheets("Sheet1") 最初でこのようしておくと、 以後、Worksheets("Sheet1")の代わりにWS1を使えるということです。 以上です。  

mgjp7
質問者

お礼

お礼が遅くなり申し訳ございません。 大変参考になりました。 ありがとうございます。

その他の回答 (1)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

シート2の検索結果を表示させる際に元の表の何行目かを同時に表示させるようにします。 シート2で変更した場合にはPrivate Sub Worksheet_Change(ByVal Target As Range) で変更されたデータのある行での元の表の行を求めて元の表のデータを変更するようにすればよいでしょう。

mgjp7
質問者

お礼

ありがとうございます。

mgjp7
質問者

補足

ご回答ありがとうございます。 なにぶん初心者なので・・・ 具体的に検索表示と更新するためのマクロを教えていただけないでしょうか? よろしくお願いいたします。

関連するQ&A