VBA講座 レッスン4 イベントプロシージャ
配列とWorksheet_Change
- ●Sheet2にコードと担当者
Sheet1に品番を入れます。担当者コードを入れると担当者が表示されます。
これは、LOOKUP関数と同じですね。
Sheet2にないコードを入れると「見つかりません」とメッセージが表示されます。
では、下記のプログラムを実行すると担当者が表示されます。
Private Sub Worksheet_Change(ByVal Target As Range) Dim Au() As Variant If Target.Column <> 2 Then Exit Sub nRow = Target.Row nCol = Target.Column wsEnd = Sheet2.Range("A1").CurrentRegion.Rows.Count ReDim Au(2, wsEnd) If Cells(nRow, nCol) <> "" Then '配列Au()にコードと担当者を入れる For i = 1 To wsEnd Au(0, i) = Sheet2.Cells(i, 1) Au(1, i) = Sheet2.Cells(i, 2) Next i For j = 1 To wsEnd If Cells(nRow, nCol) = Au(0, j) Then Application.EnableEvents = False Cells(nRow, nCol + 1) = Au(1, j) Application.EnableEvents = True Exit Sub End If Next j MsgBox ("見つかりません") End If End Sub
- ■ここで問題です。
- ■担当者の隣のD列に男女の性別を表示できるようにしましょう。
- ■がんばってね( ^)o(^ )