Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ungültiger Bezeichner

Forumthread: ungültiger Bezeichner

ungültiger Bezeichner
Korl
Hallo und guten Abend,
ich stolpere immer wieder über fast die selbe Sache.
Hier mal mein Code:
Private Sub CommandButton2_Click()
'OK Button
Set wksOrt = Worksheets("Ortslist")
Application.ScreenUpdating = False
Call Unprot
If ComboBox1.Value = "" Then
        MsgBox ("Es muß schon eine Nummer ausgesucht werden,") & vbLf & " " _
        & vbLf & "die dann übernommen werden soll !"
        Exit Sub
    Else
      If WorksheetFunction.CountIf(wksOrt.Range("D10:D59"), ComboBox1).Value > 0 Then
             MsgBox "Die Nummer wurde schon vergeben! ", , "Abbruch"
        Exit Sub
    Else
     
      Worksheets("Ortslist").Cells(Cells(65536, 4).End(xlUp).Row + 1, 4).Value = ComboBox1.Value
      ActiveSheet.Protect Password:="xxx"
  End If
Unload Me
Application.ScreenUpdating = True
End Sub
Es handelt sich hier um den "OK"-Button meiner UF.
Es soll hier ein Wert in die Zelle eingetragen werden.
Ich möchte hier einen Doppelten Eintrag verhindern.
Der Debugger zeigt hier auf "CountIf" und meldet: "Fehler beim Kompilieren. ungültiger bezeichner"
Kann mir jemand noch mal helfen?
Gruß Korl
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: ungültiger Bezeichner
17.02.2006 22:45:38
Dieter
falsch:
If WorksheetFunction.CountIf(wksOrt.Range("D10:D59"), ComboBox1).Value &gt 0 Then
richtig:
If WorksheetFunction.CountIf(wksOrt.Range("D10:D59"), ComboBox1) &gt 0 Then
mfg Dieter
AW: ungültiger Bezeichner
17.02.2006 23:14:10
Korl
Hallo Dieter,
ich danke Dir für Deinen Tipp, es funktioniert.
Gruß Korl
Anzeige
;
Anzeige

Infobox / Tutorial

Umgang mit dem Fehler "ungültiger Bezeichner" in VBA


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.
  2. Finde Deinen Code: Suche die entsprechende UserForm, in der sich der fehlerhafte Code befindet.
  3. Identifiziere den Fehler: Achte auf die Fehlermeldung, die auf "ungültiger Bezeichner" hinweist. In dem Beispiel von Korl wird der Fehler bei der Verwendung von CountIf angezeigt.
  4. Korrigiere den Code: Ersetze die fehlerhafte Zeile:
    If WorksheetFunction.CountIf(wksOrt.Range("D10:D59"), ComboBox1).Value > 0 Then

    durch:

    If WorksheetFunction.CountIf(wksOrt.Range("D10:D59"), ComboBox1) > 0 Then
  5. Teste den Code: Führe den Code aus, um sicherzustellen, dass der Fehler behoben ist.

Häufige Fehler und Lösungen

  • Fehler bei der Verwendung von .Value: Oft wird versucht, .Value nach einer Funktion wie CountIf zu verwenden. Dies führt zu einem "ungültiger Bezeichner"-Fehler. Entferne einfach .Value, um den Fehler zu beheben.

  • Falsche Bereichsreferenz: Überprüfe, ob der angegebene Bereich (z.B. "D10:D59") korrekt ist und existiert. Ein falscher Bereich kann ebenfalls zu Problemen führen.


Alternative Methoden

  • Benutze die CountIfs-Funktion: Wenn Du mehrere Kriterien prüfen möchtest, kann die CountIfs-Funktion eine nützliche Alternative sein.

    If WorksheetFunction.CountIfs(wksOrt.Range("D10:D59"), ComboBox1) > 0 Then
  • Array-Methoden: In komplexeren Fällen kann es sinnvoll sein, die Werte in ein Array zu laden und dann die Anzahl der Treffer manuell zu zählen.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie Du die CountIf-Funktion in einer UserForm einsetzen kannst:

Private Sub CommandButton1_Click()
    Dim wksOrt As Worksheet
    Set wksOrt = Worksheets("Ortslist")

    If WorksheetFunction.CountIf(wksOrt.Range("D10:D59"), ComboBox1.Value) > 0 Then
        MsgBox "Die Nummer wurde schon vergeben!"
    Else
        wksOrt.Cells(wksOrt.Cells(Rows.Count, 4).End(xlUp).Row + 1, 4).Value = ComboBox1.Value
    End If
End Sub

Tipps für Profis

  • Nutze das Debugging: Verwende Debug.Print, um Variablenwerte während der Ausführung zu überprüfen. Dies kann helfen, Fehlerquellen zu identifizieren.

  • Fehlerbehandlung einbauen: Implementiere Error-Handling mit On Error Resume Next, um den Code robuster zu machen und unerwartete Fehler abzufangen.

  • Kommentare nutzen: Dokumentiere Deinen Code mit Kommentaren, um die Lesbarkeit und Wartbarkeit zu erhöhen. Dies ist besonders wichtig, wenn Du mit vba ungültiger bezeichner-Fehlern arbeitest.


FAQ: Häufige Fragen

1. Was ist ein ungültiger Bezeichner in VBA?
Ein "ungültiger Bezeichner" ist ein Fehler, der auftritt, wenn Du einen Namen oder Ausdruck verwendest, der nicht korrekt definiert oder nicht zulässig ist.

2. Wie kann ich häufige VBA-Fehler vermeiden?
Achte darauf, dass die Syntax korrekt ist und verwende das Debugging, um Probleme frühzeitig zu erkennen. Zudem hilft es, die VBA-Dokumentation zu konsultieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige