Mit VBA das Target.Address in Excel nutzen
Schritt-für-Schritt-Anleitung
Um die Target.Address in Excel VBA zu verwenden, befolge diese Schritte:
-
Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
-
Wähle das Arbeitsblatt aus, in dem Du die Eingabeveränderungen überwachen möchtest (z.B. Sheet1).
-
Füge den folgenden Code in das Codefenster ein:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$E$6" Then
If Target.Value < 0 Then
Target.Offset(1, 2).Value = "UG" ' H7 wird gesetzt
ElseIf Target.Value < 100 Then
Target.Offset(1, 2).Value = "EG"
ElseIf Target.Value < 200 Then
Target.Offset(1, 2).Value = "1.OG"
Else
Target.Offset(1, 2).Value = Int(Target.Value / 100) & ". OG"
End If
End If
End Sub
-
Schließe den VBA-Editor und gehe zurück zu Deinem Arbeitsblatt.
-
Teste die Funktion, indem Du einen Wert in Zelle E6 eingibst.
Dieser Code überprüft die Eingabe in Zelle E6 und setzt automatisch den entsprechenden Wert in H7.
Häufige Fehler und Lösungen
Alternative Methoden
Eine elegante Methode zur Handhabung von mehreren Bedingungen ist die Verwendung von Select Case. Hier ein Beispiel:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$E$6" Then
Select Case Target.Value
Case Is < 0
[H7] = "UG"
Case Is < 100
[H7] = "EG"
Case Is >= 100
[H7] = Int(Target.Value / 100) & ". OG"
End Select
End If
End Sub
Diese Methode ist übersichtlicher, besonders wenn Du mit mehr Bedingungen arbeitest.
Praktische Beispiele
Nehmen wir an, Du möchtest die Eingaben für verschiedene Stockwerke in einem Hochhaus verwalten. Mit dem obenstehenden Code kannst Du sehr einfach die Eingabe in E6 überwachen und das jeweilige Stockwerk in H7 ausgeben.
Hier ein Beispiel für die Funktionalität:
- Eingabe
150 in E6 ➜ Ausgabe 1. OG in H7
- Eingabe
50 in E6 ➜ Ausgabe EG in H7
Tipps für Profis
- Nutze
Target.Address in Verbindung mit If-Bedingungen, um präzise auf Änderungen in mehreren Zellen zu reagieren.
- Achte darauf, dass die Zellen, die Du überwachen möchtest, gut dokumentiert sind, um zukünftige Anpassungen zu erleichtern.
- Wenn Du mit mehreren Eingabefeldern arbeitest, kannst Du eine Liste von Adressen erstellen und diese durchlaufen, um den Code zu optimieren.
FAQ: Häufige Fragen
1. Was ist Target.Address?
Target.Address ist eine Eigenschaft in Excel VBA, die die Adresse der Zelle zurückgibt, die geändert wurde.
2. Wie kann ich mehrere Zellen gleichzeitig überwachen?
Du kannst eine Schleife verwenden, um die Adressen mehrerer Zellen zu überprüfen, oder If-Bedingungen für jede Zelle definieren.
3. Wie funktioniert der Code, wenn die Eingabe in E6 ist?
Wenn die Eingabe in E6 erfolgt, überprüft der Code die Bedingungen und setzt den Wert in H7 entsprechend.