VBA100本ノック 54本目を動画で解説しています。Excelの神髄さんの模範解答はコチラ
問題
#VBA100本ノック54本目
イベントを使い、商品コードを入れたら「マスタ」から取得した商品名と単価が直ちに表示されるようにしてください。
商品コードがマスタに存在しない場合は商品コードを赤字にしてください。
※金額はセルに計算式が入っています。
※商品コード列の既定の文字色は「自動」


解答
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column <> 2 Then Exit Sub
Dim wsマスタ As Worksheet
Set wsマスタ = Sheets("マスタ")
On Error Resume Next
Dim sName As String, sTanka As String
sName = WorksheetFunction.VLookup(Target, wsマスタ.Range("A:C"), 2, 0)
sTanka = WorksheetFunction.VLookup(Target, wsマスタ.Range("A:C"), 3, 0)
If Err.Number <> 0 Then
Target.Font.Color = vbRed
Target.Offset(, 1) = ""
Target.Offset(, 3) = ""
Else
Target.Offset(, 1) = sName
Target.Offset(, 3) = sTanka
End If
Application.EnableEvents = True
End Sub

新人君
初のイベントマクロ!!
楽しみですね!

ブチョ
今度の乃木坂のイベントも
楽しみだ!

新人君
それ、イベント違い…
コメント