Sheet1 コード内でこのコードを使用してみてください...不明な点があればお気軽にお問い合わせください。
編集:クリーンアップルーチンをわずかに変更しました。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim oCell As Excel.Range
Dim oCellResult As Excel.Range
Dim oCellClean As Excel.Range
Dim oRangeID As Excel.Range
Dim iCellCount As Integer
If Target.Address = "$C$4" Then
'Set source data
Set oRangeID = Sheets(2).Range("A:A")
'Define initial target for the results obtained
Set oCellResult = Sheets(1).Range("F12")
'Clear up any previous data
'Set oCellClean = oCellResult
'While Len(oCellClean.Value) > 0
'
' oCellClean.Clear
' Set oCellClean = oCellClean.Offset(1, 0)
'
'Wend
Set oCellClean = Range(oCellResult, oCellResult.End(xlDown))
oCellClean.ClearContents
'Scans source range for match data
For Each oCell In oRangeID
If oCell.Value = "" Then Exit For
If oCell.Value = Target.Value Then
oCellResult.Offset(iCellCount, 0).Value = oCell.Offset(0, 2).Value
iCellCount = iCellCount + 1
End If
Next oCell
End If
サブ終了
編集:
クリーンアップ コードを更新しました。それがあなたの期待に合っているかどうかを確認してください。