激凹みから立ち直る方法

excel VBA 2つのシートの特定の列を比較して同じ値のセルがあったらその行を上書きしたいです。
VBA初心者です。教えて頂けますと嬉しいです。

sheet1のA列セルの値 = sheet2のA列セルの値
だった場合
sheet2の該当行をsheet1の該当行に上書きコピペ
したいです。

sheet1に元データ表があって、sheet2に検索抽出表示した後にsheet2のデータを書き換えた際にsheet1の元データに反映したい感じです。
A列にはデータの番号が連番で割り振られています。

説明がわかりづらかったらすみません。
何卒宜しくお願い致します。

A 回答 (2件)

こんばんは



よく理解できていませんけれど、勝手に解釈しました。

それぞれのシート内でA列の値には重複がなく、複数ヒットすることはないものと仮定しています。
(=再検索する必要はないものと解釈)
セル範囲等は不明なので、適当です。

Sub Sample_Q12625547()
Dim sh As Worksheet
Dim a As Range, c As Range, f As Range

Set sh = Worksheets("Sheet2")
Set a = Worksheets("Sheet1").Columns(1)

For Each c In Range(sh.Cells(1, 1), sh.Cells(Rows.Count, 1).End(xlUp))

If c.Value <> "" Then
Set f = a.Find(What:=c.Value, LookIn:=xlValues, Lookat:=xlWhole)
If Not f Is Nothing Then f.EntireRow.Value = c.EntireRow.Value
End If

Next c
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。
思う感じで動きました!
返事遅くなり申し訳御座いません。
分かりづらい説明の中解決に導いて下さって感謝です。

お礼日時:2021/10/18 09:53

sheet1とsheet2のレイアウトを画像で提示していただけると、


回答がつきやすいかと。
    • good
    • 0
この回答へのお礼

ありがとうございます。
そうですね。確かに文より画像で示せば良かったと思っております。
今回は解決を見ましたので、次回よりそうする方向で考えます!
ありがとうございます!

お礼日時:2021/10/18 09:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A