Variablen in Excel überprüfen: So geht's!
Schritt-für-Schritt-Anleitung
Um eine Variable in Excel VBA zu überprüfen, ob sie mit einer Zellenbezeichnung übereinstimmt, kannst du folgenden Code verwenden. Dieser Code überprüft, ob der Name einer Zelle, der in einer anderen Zelle eingegeben wurde, mit einer bestehenden Zellenbezeichnung übereinstimmt.
- Öffne Excel und drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Füge ein neues Modul hinzu: Rechtsklick auf „VBAProject (DeinWorkbookName)“ > Einfügen > Modul.
- Kopiere den folgenden Code in das Modul:
Sub Variablen_erzeugen()
Dim strVar1 As String
Dim strVar2 As String
Dim ObBereich As Object
strVar1 = Cells(1, 2).Text
strVar2 = Cells(2, 2).Text
' Alle Variablen löschen
For Each Nm In ActiveWorkbook.Names
Nm.Delete
Next Nm
' Überprüfen ob Variable- Eingabe Zellenname ist
ActiveWorkbook.Names.Add Name:=strVar1, RefersToR1C1:=Cells(1, 3).Value
ActiveWorkbook.Names.Add Name:=strVar2, RefersToR1C1:=Cells(2, 3).Value
End Sub
- Schließe den VBA-Editor und gehe zurück zu deinem Excel-Arbeitsblatt.
- Gib in die Zelle A1 den Namen deiner Variable und in B1 den entsprechenden Wert ein.
- Führe das Makro
Variablen_erzeugen
aus, um die Überprüfung durchzuführen.
Häufige Fehler und Lösungen
Alternative Methoden
Eine alternative Methode zur Überprüfung von Variablennamen ist die Verwendung des Worksheet_Change
-Ereignisses. Hierbei wird bei jeder Änderung in der Zelle überprüft, ob es sich um einen gültigen Namen handelt:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim raPrüf As Range
If Target.Column = 2 And Target.Count = 1 Then
If Target <> "" Then
On Error Resume Next
Set raPrüf = Range(Target)
On Error GoTo 0
If Not raPrüf Is Nothing Then
MsgBox "Fehler, es handelt sich um eine Zelladresse."
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End If
End If
End If
End Sub
Diese Methode funktioniert in Echtzeit, wenn du einen Namen in der Zelle änderst.
Praktische Beispiele
-
Beispiel 1:
- Gib in A1 den Namen „H2“ ein und in B1 den Wert „20“. Wenn du das Makro ausführst, erhältst du eine Fehlermeldung, da „H2“ eine Zelladresse ist.
-
Beispiel 2:
- Gib in A1 den Namen „Breite1“ ein und in B1 den Wert „30“. Das Makro wird erfolgreich ausgeführt, da „Breite1“ keine Zellenbezeichnung ist.
Tipps für Profis
- Nutze
On Error Resume Next
, um Fehler abzufangen, aber sei vorsichtig, da dies auch andere Fehler maskieren kann.
- Halte deinen Code sauber und dokumentiere wichtige Abschnitte, um die Lesbarkeit zu verbessern.
- Teste den Code regelmäßig, um sicherzustellen, dass alles wie gewünscht funktioniert.
FAQ: Häufige Fragen
1. Wie kann ich sicherstellen, dass der Variablenname eindeutig ist?
Um die Eindeutigkeit zu gewährleisten, kannst du eine Überprüfung einbauen, die alle bestehenden Namen in der Arbeitsmappe durchläuft.
2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der bereitgestellte Code sollte in Excel 2010 und neueren Versionen problemlos funktionieren.