VBA - Aufruf beim Verlassen eines Feldes in Excel
Schritt-für-Schritt-Anleitung
Um ein VBA-Makro zu erstellen, das beim Verlassen eines Feldes ausgeführt wird, folge diesen Schritten:
-
Öffne den VBA-Editor: Drücke ALT + F11
in Excel.
-
Wähle das Arbeitsblatt aus: Navigiere im Projektfenster zu dem Arbeitsblatt, in dem du das Makro hinzufügen möchtest.
-
Füge das Makro hinzu: Kopiere den folgenden Code in das Codefenster des Arbeitsblatts:
Private Sub Fahrtkosten_1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim Fahrtkosten As String
Fahrtkosten = Range("A1").Value ' Beispiel: Zelle A1 als Eingabefeld
Select Case Fahrtkosten
Case "Cola"
Range("B1").Value = 2.4 ' Beispiel: Zelle B1 für den Preis
Case "Bier"
Range("B1").Value = 3.0
Case Else
Range("B1").Value = ""
End Select
End Sub
-
Speichere die Änderungen und schließe den VBA-Editor.
-
Teste das Makro: Gib in das Feld (A) einen Wert ein und verlasse das Feld, um den Preis in Feld (B) zu sehen.
Häufige Fehler und Lösungen
- Makro funktioniert nicht: Stelle sicher, dass das Makro im richtigen Arbeitsblatt eingefügt wurde.
- Variablenfehler: Vergewissere dich, dass alle verwendeten Variablen korrekt deklariert sind.
- Falsche Zellbezüge: Achte darauf, dass die Zellreferenzen im Code korrekt sind.
Alternative Methoden
Wenn du nicht mit dem Exit
-Ereignis arbeiten möchtest, kannst du das Change
-Ereignis verwenden. Hier ist der entsprechende Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
Dim Fahrtkosten As String
Fahrtkosten = Target.Value
Select Case Fahrtkosten
Case "Cola"
Range("B1").Value = 2.4
Case "Bier"
Range("B1").Value = 3.0
Case Else
Range("B1").Value = ""
End Select
End If
End Sub
Diese Methode aktualisiert das Feld (B) sofort beim Ändern des Feldes (A).
Praktische Beispiele
Hier sind einige Beispiele, wie du den Code anpassen kannst:
-
Preise für weitere Getränke hinzufügen:
Case "Wasser"
Range("B1").Value = 1.0
Case "Saft"
Range("B1").Value = 2.0
-
Verwendung in einem UserForm: Wenn du ein Formular verwendest, achte darauf, dass das Makro im entsprechenden UserForm-Code platziert ist.
Tipps für Profis
- Fehlerbehandlung einfügen: Verwende
On Error Resume Next
, um Fehler abzufangen.
- Datenvalidierung: Implementiere Datenvalidierung in Excel, um sicherzustellen, dass die Eingaben korrekt sind.
- Modularisierung: Lagere komplexe Logik in separate Funktionen aus, um den Code übersichtlicher zu gestalten.
FAQ: Häufige Fragen
1. Wo sollte ich den Code einfügen?
Der Code sollte im VBA-Editor im entsprechenden Arbeitsblatt eingefügt werden, wenn du direkt mit Zellen arbeitest.
2. Kann ich das Makro auch in einem UserForm verwenden?
Ja, in diesem Fall musst du das Makro im Code des UserForms einfügen, nicht im Arbeitsblatt.
3. Wie kann ich die Zellreferenzen anpassen?
Ändere einfach die Zellbezüge im Code, um sie an deine spezifischen Anforderungen anzupassen.