プロが教える店舗&オフィスのセキュリティ対策術

マクロのコードを教えてください。
出来ればコードの解説もお願いします。

シート1のA6からL列まで表1があり6行目は項目です。
A7・A8・A9の値をシート2の表2からO列から検索をする。

表2に表1の値があれば表2のOからZ列のその行をコピーして
表1の下へ貼り付ける。

最終的に一番下のようにしたいです。

「Excel2013 マクロ教えてください」の質問画像

A 回答 (1件)

こんばんは!



↓の画像のような配置だとします。
標準モジュールにしてください。

Sub Sample1()
Dim i As Long, c As Range, wS As Worksheet
Set wS = Worksheets("Sheet2")
With Worksheets("Sheet1")
'A列7行目~A列最終行まで//
For i = 7 To .Cells(Rows.Count, "A").End(xlUp).Row
'Sheet2の「O」列にSheet1、A列 i 行のデータを見つける//
Set c = wS.Range("O:O").Find(what:=.Cells(i, "A"), LookIn:=xlValues, lookat:=xlWhole)
'データがあれば、Sheet1のA列最終行の1行下へ値の貼り付け//
If Not c Is Nothing Then
wS.Cells(c.Row, "O").Resize(, 12).Copy
.Cells(Rows.Count, "A").End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteValues
End If
Next i
Application.CutCopyMode = False
.Activate
.Cells(Rows.Count, "A").End(xlUp).Select
End With
End Sub

こんな感じでよいのでしょうか?

※ 一度だけマクロを実行してください。
続けて実行すると重複されてデータが表示されてしまいます。m(_ _)m
「Excel2013 マクロ教えてください」の回答画像1
    • good
    • 0

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