Page 696 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼別のシートの情報から検索し一致するものを探す方法 まさっち 03/2/5(水) 17:12 ┗Re:別のシートの情報から検索し一致するものを探す方法 Nakamura 03/2/6(木) 13:00 ┗Re:別のシートの情報から検索し一致するものを探す方法 まさっち 03/2/6(木) 14:33 ┗Re:別のシートの情報から検索し一致するものを探す方法 Nakamura 03/2/7(金) 1:11 ─────────────────────────────────────── ■題名 : 別のシートの情報から検索し一致するものを探す方法 ■名前 : まさっち ■日付 : 03/2/5(水) 17:12 -------------------------------------------------------------------------
お世話になります。 只今、出荷検収のマクロを考えています。 詰まってしまったのでご教授お願いします。 シート1とシート2があります。 シート1には受注状況の一覧があります。 品名(A)、納期(B)、数量(C)、注文番号(F)、単価(G)、金額(H) 等の項目があります。 シート2には検収状況(受領)の一覧があります。 品名(A),検収日(B),数量(C),注文番号(E),単価(F),金額(G) の項目があります。 シート2の品名、注文番号が一致するものをシート1の中から自動的に検索し それが単価、数量が一致するかをさらに検索し、一致した場合は その行のL列に○をつけるようにしたいのですが・・・ また、品名、注文番号が一致するが、 単価、数量が違う場合にL列に赤文字で 単価が違う場合は「単価不一致」 数量が違う場合は「数量不一致」 と表示させたいのです。 こんな事って可能なんでしょうか?? ややこしい事で申し訳ないのですがよろしくご教授願います。 |
こんにちは なかなかレスが付かないようですね。 質問内容が丸投げに近いせいもあるのかな? 丸投げにするにしても出来るだけ詳しい状況を説明する必要があると思います。 どの様なタイミングで実行するのか?、項目とあるが、項目行はあるのか? どのシートのL列に書き込むのか?単価、数量共に違っていたらどうするのか?等々 ぱっと見た感じ以上のことが解りません。 出来るだけ詳しく書くことが、解決の早道です。 それでは |
Nakamuraさん返信ありがとうございます。。 >こんにちは >なかなかレスが付かないようですね。 >質問内容が丸投げに近いせいもあるのかな? 恐れ入ります。初心者なもので、どう書いていいのかわかりませんでした・・。 >丸投げにするにしても出来るだけ詳しい状況を説明する必要があると思います。 >どの様なタイミングで実行するのか? どの様なタイミング・・? 考えていませんでした・・ >項目とあるが、項目行はあるのか? 項目行は存在します。 >どのシートのL列に書き込むのか?単価、数量共に違っていたらどうするのか?等々 シート1のL列に書き込みたく思います。 単価、数量が違っていた時まで考えていませんでした。 ご教授ありがとうございます。 >ぱっと見た感じ以上のことが解りません。 >出来るだけ詳しく書くことが、解決の早道です。 >それでは とりあえず本とか色々見てるんですが、なにからはじめていいのか さっぱりです。。 ヒントでもなんでもいいのでなにかありましたら教えて下さい。 よろしくお願いします。 |
こんばんは 各シートとも1行目を項目行として こんな感じ Sub test() Dim rg As Range, i As Long, wk1 As Worksheet, wk2 As Worksheet Application.ScreenUpdating = False Set wk1 = Worksheets("シート1") Set wk2 = Worksheets("シート2") For Each rg In wk1.Range("A2", wk1.Range("A65536").End(xlUp).Address) With wk2.Range("A1:G65536") .AutoFilter .AutoFilter Field:=1, Criteria1:=rg.Value .AutoFilter Field:=5, Criteria1:=rg.Offset(, 5).Value i = .Range("A65536").End(xlUp).Row If i <> 1 Then If rg.Offset(, 2).Value <> wk2.Range("C" & i).Value Then rg.Offset(, 11).Value = "数量不一致" rg.Offset(, 11).Font.ColorIndex = 3 ElseIf rg.Offset(, 6).Value <> wk2.Range("F" & i).Value Then rg.Offset(, 11).Value = "単価不一致" rg.Offset(, 11).Font.ColorIndex = 3 Else rg.Offset(, 11).Value = "○" rg.Offset(, 11).Font.ColorIndex = 1 End If End If .AutoFilter End With Next Set wk1 = Nothing Set wk2 = Nothing Application.ScreenUpdating = True End Sub 両方不一致は考慮していません。 それでは |