AW: SVERWEIS nur einmal ausführen
14.08.2003 23:34:48
Michael Brüggemann
Hallo Elmar,
so gehts:
1.
Excel starten
2.
Arbeitsblatt laden
3.
"Alt+F11" drücken, um die VBA Umgebung aufzurufen
4.
Die Tabelle, in der diese Aktion ausgeführt werden soll, im linken, oberen Fenster ("Projekt - VBA Projekt") doppelt anklicken
5.
Den folgenden Code rechts im Codefenster einfügen
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
' Fehler ignorieren
On Error Resume Next
' nur ausführen wenn
' - Wert in Spalte 3 verändert wurde
' - die Zelle in Spalte 3 nicht leer ist
' - die Zelle, in der der zu ermittelnde Wert steht, leer ist
If Target.Column = 3 And _
Not IsEmpty(Target) And _
IsEmpty(Cells(Target.Row, Target.Column + 1)) Then
' Schutz des Arbeitsblattes aufheben
Me.Unprotect
' SVERWEIS benutzen, um zugehörigen Wert zu finden
Cells(Target.Row, Target.Column + 1).Value = _
Application.WorksheetFunction.VLookup( _
Target, Range("$A$1:$B$3"), 2, False)
' Wenn Fehler aufgetreten, dann Schlüssel nicht gefunden
If Err = 1004 Then _
Cells(Target.Row, Target.Column + 1).Value = "** unbekannt **"
' Arbeitsblatt wieder schützen
Me.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
End Sub
CIAO
Michael