2017-06-08 7 views
1

私は毎月の在庫販売のレポートを受け取ります。システムには定期的にアイテムが追加されています。固有のID番号でこれらのアイテムが見つかります。私はすべての品目番号と説明といくつかの他の属性のリストを持つExcelファイルを持っています。コレクションとエラー処理を使用して新しいアイテム番号を検索する

私の目標 - 先月販売されたすべてのアイテムでExcelファイルをダウンロードしてください。新しい項目がある場合は、それらを既存のリストに追加します。あなたが二回同じアイテムIDを入力すると概念は、同じキーが使用されていることを

dim col as collection 
Application.ScreenUpdating = False 
With ItemList 
    For x = 3 To lastrowIL 
     On Error Resume Next 
     col.Add .Range("A" & x).Value, CStr(.Range("A" & x).Value) 
     On Error GoTo 0 
    Next x 
End With 
With Monthly 
.Range("AH3:AH" & lastrowM).Value = "New" 
On Error Resume Next 
    For y = 3 To lastrowM 
     col.Add .Range("B" & y).Value, CStr(.Range("B" & y).Value) 
     If Err.Number <> 0 Then .Range("AH" & y).Value = "Old" 
     Err.Clear 
    Next y 
End With 
Application.ScreenUpdating = True 

:私はシッダールタ敗走は前の回答に掲載しているものを使用しています

は、関連するコードは次のようになりますそして「新しい」を「古い」に変更されます、エラーメッセージが表示されます

問題:コレクションへすべての追加は、これにより、すべての「新しい」を「古い」

答えて

0

OKを変え、エラーの原因となっています私はerr.numberオブジェクトにウォッチを追加して問題を解決しました。

私は新しいコレクションとして をコレクションを宣言(またはコレクションを宣言してから新しいコレクションとして設定)しませんでした

はそれを固定して、私は「新しい」表示対「古い」に固定しました。

関連する問題