許せない心理テスト

Excelでシート1、シート2にそれぞれ一つのIDに対して複数の行(内容は異なるデータ)が存在します。シート1においてシート2に存在する複数のIDの行のみを抽出するようなことは可能でしょうか?

「Excelで別シートの共通する項目が存在」の質問画像

A 回答 (1件)

こんばんは!



結局Sheet2の「DATA4」と「DATA5」は関係ないのですね?
VBAになりますが、一例です。
Sheet3に表示するようにしていますので
Sheet3は使用していない状態にしておいてください。

Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)マクロを実行してみてください。

Sub Sample1() 'この行から//
Dim i As Long, lastRow As Long, wS2 As Worksheet, wS3 As Worksheet
Set wS2 = Worksheets("Sheet2")
Set wS3 = Worksheets("Sheet3")
Application.ScreenUpdating = False
wS3.Cells.Clear
With Worksheets("Sheet1")
.Range("A1").Resize(, 3).Copy wS3.Range("A1")
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
For i = 2 To wS2.Cells(Rows.Count, "A").End(xlUp).Row
.Range("A1").AutoFilter field:=1, Criteria1:=wS2.Cells(i, "A")
If .Cells(Rows.Count, "A").End(xlUp).Row > 1 Then
Range(.Cells(2, "A"), .Cells(lastRow, "C")).SpecialCells(xlCellTypeVisible).Copy _
wS3.Cells(Rows.Count, "A").End(xlUp).Offset(1)
End If
Next i
.AutoFilterMode = False
End With
Application.ScreenUpdating = False
wS3.Activate
End Sub 'この行まで//

※ 関数でないのでデータ変更があるたびにマクロを実行する必要があります。

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 0
この回答へのお礼

さっそくの回答ありがとうございます。
一度試してみたいと思います。

お礼日時:2016/01/29 21:36

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


おすすめ情報