(3)VLOOOKUP関数
コード番号を入力すれば得意先シートの得意先名を検索して得意先名をコード番号の隣に表示します。
・vlookup関数の場合
vlookup関数を得意先名に作成します。
= VLOOKUP(A2,得意先!$A$1:$B$14,2)
得意先シートは14行までデータが入力されているとします。
1列目がコード番号2列目が得意先名が入力されています。
得意先名のすべての行にコピーするために絶対座標$A$1:$B$14を使っています。
コード番号が入力さえていないとエラーになりますので条件文をつけておきます。
=IF(A2="","",VLOOKUP(A2,得意先!$A$1:$B$14,2))
・VBAの場合
ではVBAではどのようになるかということです。
今回の場合はvlookup関数を使ったほうが楽です。
VBAの特徴はシートに計算式を記入しませんので計算式を誤って消してしまうということがないぐらいです。
勉強のために作っていきます。
7行A列(cells(1,7))にコード番号8を入力しておきます。
そこでエンターキーを押すと得意先名が表示すようにするためにはキーコード13を判断しますが今回は得意先検索ボタンをクリックしたときに得意先名が表示するようにします。
今入力したセルをActiveCellで取得します。
ボタンの付いている売上シートがアクティブですからシート名を省略できますが
シート名をつけた方がわかりやすいかもわかりません。
Worksheets("売上").Cells(ActiveCell.Row, 2) = Worksheets("得意先").Cells(i, 2)
条件付き繰り返しが理解できておれば問題はないと思います。
Sub kensaku()
Dim i As Long
Dim lastRow As Long
lastRow = Worksheets("得意先").Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lastRow
If ActiveCell = Worksheets("得意先").Cells(i, 1) Then
Cells(ActiveCell.Row, 2) = Worksheets("得意先").Cells(i, 2)
Exit Sub
End If
Next
End Sub