
Ich arbeite derzeit mit einer Datenspalte (Zahlen), die einer Reihe von Werten entspricht, und ich frage mich, wie ich die Daten/Zahlen automatisch durch den richtigen entsprechenden Wert ersetzen kann? (Ich habe unten ein Bild dessen bereitgestellt, was ich meine.) Danke für Ihre Hilfe!
Anfangsdaten
Endergebnis
Antwort1
Im Arbeitsblattänderungsereignis können Sie so etwas tun. Es wird davon ausgegangen, dass die Spalte, in der Sie den Eintrag vornehmen, A ist und das Layout Ihrer Nachschlagevorgänge wie in Ihrem Beispiel in K&J ist. Sie können die Bereiche nach Belieben anpassen.
Private Sub Worksheet_Change(ByVal Target As Range)
'should check you are doing entry in column A first
If Target.Column = 1 Then
Application.EnableEvents = False
Dim R1 As Range
Dim R2 As Range
Dim rngStart As Range
Dim varFind As Variant
Dim InRange As Boolean
Set R1 = Range(Target.Address)
Set R2 = Range("J:J")
Set rngStart = Range("J1")
If R2.Find(What:=Target, After:=rngStart, LookIn:=xlValues, LookAt:=xlWhole _
, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False) Is Nothing Then
Application.EnableEvents = True
Set R1 = Nothing
Set R2 = Nothing
Exit Sub
Else
varFind = R2.Find(What:=Target, After:=rngStart, LookIn:=xlValues, LookAt:=xlWhole _
, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Address
Set varFind = Range(varFind)
R1.Value = varFind.Offset(0, -1)
Application.EnableEvents = True
Set R1 = Nothing
Set R2 = Nothing
Set rngStart = Nothing
Set varFind = Nothing
End If
Else
Exit Sub
End If
End Sub