|
こんにちは。かみちゃん です。
>・シート1に作成日(A列)と番号(B列)を入力
>・シート2に品名(A列、入力済み)、番号(B列)、作成日(C列)を更新
>シート1のB列の値がシート2のB列で検索できたら(重複はない)A列の値をシート2のC列に上書きする。B列の値がシート2で存在しなければ、Msgboxを出す。
とりあえず、ワークシート関数であるMatch関数をVBAで使うことで、検索結果の
行を取得します。
以下のコードは、Sheet1のB1セルの値を検索するものです。
Sub Sample()
Dim c As Range
Dim lngRow As Long
With Sheets("Sheet1").Range("B1")
lngRow = 0
On Error Resume Next
lngRow = Application.Match(.Value, Sheets("Sheet2").Columns("B"), 0)
On Error GoTo 0
If lngRow > 0 Then
Sheets("Sheet2").Cells(lngRow, 3).Value = .Offset(, -1).Value
Else
MsgBox "番号なし" & .Value
End If
End With
End Sub
これをヒントにでもして、ご自分で少し考えてみてください。
Sheet1のB列のセルすべてを処理するためには、上記のコードに、
For 〜 Next などの繰り返し処理を加えることになります。
繰り返し処理の方法は、過去ログにヒントがたくさんありますので、検索してみる
のもいいかもしれません。
|
|