IF関数とVLOOKUP関数を使って、コードを入力すると担当者をきれいに表示する方法を詳しく解説します。


では、この動作をVBAで実現してみましょう。
下記のコードをVBAエディタに書き込みます。関数より簡単かもしれませんね。?

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