【エクセルマクロ】会社リストのワークシートと、注文リストのワークシートがあります。両方ともA列には会社ごとに一意のIDが入っています。このIDをキーに、一度も注文がない会社だけを抽出した会社リストを作成するマクロを教えてください。注文のある会社で、会社リストにないものはありません。 ワークシート操作なら出来たのですが、自動記録で上手くマクロ化できませんでした。



ワークシートA(会社リスト)
 A B C
1 C111 ○○会社 渋谷区…
2 C112 △△社 新宿区…
3 C113 □□会社 豊島区…


ワークシートB (注文リスト)

 A B C D
1 C111 ○○会社 商品AA 10
2 C112 △△社 商品BB 30
3 C111 ○○会社 商品CC 20

→「C113 □□会社 豊島区…」を抽出

回答の条件
  • 1人3回まで
  • 登録:2010/06/03 10:56:10
  • 終了:2010/06/03 13:01:25

ベストアンサー

id:SALINGER No.1

SALINGER回答回数3454ベストアンサー獲得回数9692010/06/03 11:20:37

ポイント200pt

シート名がそれぞれ、会社リスト、商品リストとして、抽出するシートをアクティブにして実行してみてください。

Sub Macro()
    Dim lastRow As Long
    Dim i As Long
    Dim count As Long
    Dim obj As Object
    
    lastRow = Worksheets("会社リスト").Cells(Rows.count, 1).End(xlUp).Row
    
    count = 1
    With Worksheets("会社リスト")
        For i = 1 To lastRow
            Set obj = Worksheets("注文リスト").Range("A:A").Find(.Cells(i, 1).Value, LookAt:=xlWhole)
            
            If obj Is Nothing Then
                Cells(count, 1).Value = .Cells(i, 1).Value
                Cells(count, 2).Value = .Cells(i, 2).Value
                Cells(count, 3).Value = .Cells(i, 3).Value
                count = count + 1
            End If
        Next i
    End With
End Sub
id:capsuleq

SALINGERさん

ありがとうございます!

ばっちり思い通りに動きました。

大感謝です。

2010/06/03 13:01:09

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません