No1です。すみません、間違えました。
Cells(RowNum,4)の前にピリオド「.」を入れ忘れました。
下記、訂正済です。
Dim MyVariant As Variant
MyVariant = Application.VLookup(.Cells(RowNum,1), Worksheets("在庫シート").Range("B:J"), 9, False)
If IsError(MyVariant) Then
.Cells(RowNum,4).value=""
Else
.Cells(RowNum,4).value=MyVariant
'Worksheets("在庫シート").Cells.Find(What=.Cells(RowNum,1)).EntireRow.Delete 'この行は(5)の削除
End if
エクセル関数はVBAでも使用出来るので、vlookupを使います。
Cells(RowNum,1)の商品コードが見つからない場合は空欄、見つかった場合は仕入れ価格を転記します。在庫シートの該当行削除も書きましたが、質問には含まれてないのでコメント文にしてあります。
Dim MyVariant As Variant
MyVariant = Application.VLookup(.Cells(RowNum,1), Worksheets("在庫シート").Range("B:J"), 9, False)
If IsError(MyVariant) Then
Cells(RowNum,4).value=""
Else
Cells(RowNum,4).value=MyVariant
'Worksheets("在庫シート").Cells.Find(What=.Cells(RowNum,1)).EntireRow.Delete 'この行は(5)の削除
End if
1個売れただけで行削除するのですか?
お礼
再度の回答ありがとうございます。 Cellsの前のピリオドは、私も実は入れてみたのですが、うんともすんとも反応しません。。。 エラーにはならないので、私のやり方が何か違うのだと思います。 本当に何度もありがとうございます。 もうちょっと頑張ってみます!