0

注文データの 2 つの異なるソースを統合するマクロに取り組んでいます。最初のソースには古い注文と一部の新しい注文が含まれ、2 番目のソースには古い注文のみが含まれ、手動で更新された列に追加データが含まれます。

これに対する私の考えは、2 番目のソースから注文合計を取得し、最初のソースからの注文合計の後にシートに貼り付けてから、既存のトラッカーからの注文番号に対して新しいファイルからすべての注文番号を検索することです。新しいファイルからトラッカーにまだない注文番号を見つけて、その注文の詳細を含む行を挿入する for ループがあります。文字列が配列に存在するかどうかを確認する if ステートメントで、型の不一致エラーが発生します。このコードを見てください:

Dim r As Integer
For r = 1 To 1000
    Dim NewOrd As String
    NewOrd = Range(Cells(r, 1), Cells(r, 1)).Value
    Dim ExistArray As Variant
    ExistArray = Range("a1", Range("a1").End(xlUp))
    Sheets("Sheet2").Select

    If IsEmpty(NewOrd) Then
        Exit For
    End If

    If Not UBound(Filter(ExistArray, NewOrd)) >= 0 And NewOrd <> "" Then
        Rows(r).Select
        Selection.Copy
        Sheets("Sheet3").Select
        Rows(r).Select
        Selection.Insert Shift:=xlDown
        Application.CutCopyMode = False
    End If
    r = r + 1
Next r

配列を設定するいくつかの異なる方法を試し、オプションの明示的な追加を試み、ループのネストを試みました (私の最も明るい効率の瞬間ではありません)。別の目のセットをいただければ幸いです。

ありがとう!

4

2 に答える 2