Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Fehler beim kompilieren - ungültiger Bezeichner

Fehler beim kompilieren - ungültiger Bezeichner
30.01.2018 08:41:14
David
Schönen guten Morgen,
beim auslesen einer TextBox bekomme ich ständig die Fehlermeldung "Fehler beim kompilieren - ungültiger Bezeichner" und ich komme einfach nicht darauf warum diese TextBox nicht ausgelesen werden kann. Ziel soll es sein, dass ein neues Tabellenblatt erstellt wird mittels Button und das dieses neue Tabellenblatt die Bezeichnung bekommt die in der TextBox notiert wird.
Hoffe ihr könnt mir weiterhelfen und bedanke mich schon herzlich im Voraus
gruß David
Hier der Code:
Private Sub CommandButton1_Click()
Dim AusgabeFehler As String
Dim TextBox1 As String
Dim Name As String
AusgabeFehler = "Bitte füllen sie das Feld aus"
Sheets("Vorlage_Statusblatt_I").Copy After:=Sheets(Sheets.Count)
Sheets("Vorlage_Statusblatt_I (2)").Select
Sheets("Vorlage_Statusblatt_I (2)").Name = TextBox1.Value
If TextBox1.Value = "" Then AusgabeFehler
End If
End Sub

Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler beim kompilieren - ungültiger Bezeichner
30.01.2018 08:52:50
mumpel
Hallo!
"TextBox1" ist ein Objekt. Daher darfst Du das nicht zusätzlich als Variable nutzen. Nutze also einen anderen Variablennamen. Obwohl Du "Dim TextBox1 As String" garnicht benötigst.
Gruß, René
Fehler beim kompilieren - ungültiger Bezeichner
30.01.2018 09:02:09
David
das bedeutet ich soll die TextBox anders bezeichnen ?
Bin noch in der VBA Lernphase :-D
Anzeige
AW: Fehler beim kompilieren - ungültiger Bezeichner
30.01.2018 09:08:09
Mullit
Hallo,
nein nicht umbenennen, sondern wie Rene schrieb, schmeiß einfach Deine TextBox-String-Deklarat. raus und gut is....
Gruß, Mullit
Fehler beim kompilieren - ungültiger Bezeichner
30.01.2018 09:23:36
David
Super ! Läuft vielen Dank
AW: Fehler beim kompilieren - ungültiger Bezeichner
30.01.2018 08:55:00
Mullit
Hallo,
yo klar, das sieht n Blinder mit nem Krückstock, Du mußt die Box als Textbox-Objekt deklarieren und auch setzen...!!
Private Sub CommandButton1_Click()
Dim AusgabeFehler As String
Dim TextBox1 As String '// <<<< argh....
Dim Name As String
AusgabeFehler = "Bitte füllen sie das Feld aus"
Sheets("Vorlage_Statusblatt_I").Copy After:=Sheets(Sheets.Count)
Sheets("Vorlage_Statusblatt_I (2)").Select
Sheets("Vorlage_Statusblatt_I (2)").Name = TextBox1.Value
If TextBox1.Value = "" Then AusgabeFehler
End If
End Sub

Gruß, Mullit
Anzeige
AW: Fehler beim kompilieren - ungültiger Bezeichner
30.01.2018 08:56:37
mumpel
Die Textbox ist bereits ein Objekt. Daher braucht man m.E. keine Deklaration.
AW: Fehler beim kompilieren - ungültiger Bezeichner
30.01.2018 09:02:53
Mullit
Hallo,
yo klar,stimmt auch wieder, kann man natürlich rausschmeißen, aber weiß der Teufel was er mit dem Objekt noch anfangen will, da dacht ich mir 'wenn schon Deklarat., dann....'
Gruß, Mullit
Fehler beim kompilieren - ungültiger Bezeichner
30.01.2018 09:06:05
David
wie würdet ihr an die Sache ran gehen ?
Bin neugierig und möchte gerne lernen wie ihr es machen würdet
Anzeige
AW: Fehler beim kompilieren - ungültiger Bezeichner
30.01.2018 10:30:12
mumpel
Garnicht. Da Du in einem Klassenmodul arbeitest musst Du Userform-Objekte nicht deklarieren. Die Objekte einer Userform deklarieren sich gewissermaßen selber.
AW: Fehler beim kompilieren - ungültiger Bezeichner
30.01.2018 11:54:57
Werner
Hallo David,
Private Sub CommandButton1_Click()
If Me.TextBox1 = "" Then
MsgBox "Bitte füllen Sie das Feld aus."
Else
Sheets("Vorlage_Statusblatt_I").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = TextBox1.Value
Unload Me
End If
End Sub
Gruß Werner
Anzeige
AW: Fehler beim kompilieren - ungültiger Bezeichner
30.01.2018 09:25:08
Mullit
Hallo Rene,
..obwohl Du da natürlich auch prinzipiell recht hast, man benötigt eigentlich nie ne Deklaration, wenn man mit dem Objekt im Klassen-Modul rummacht...top...
Gruß, Mullit
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Fehler beim Kompilieren: Ungültiger Bezeichner in VBA


Schritt-für-Schritt-Anleitung

Um den Fehler "Fehler beim kompilieren - ungültiger Bezeichner" in deinem VBA-Code zu beheben, folge diesen Schritten:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.

  2. Finde dein UserForm: Suche das UserForm, das die TextBox enthält.

  3. Überprüfe den Code: Achte darauf, dass du die TextBox nicht als String-Variable deklarierst. Ändere den Code, indem du die Zeile mit Dim TextBox1 As String entfernst.

  4. Korrigiere den Code: Hier ist ein korrigierter Code:

    Private Sub CommandButton1_Click()
        Dim AusgabeFehler As String
        AusgabeFehler = "Bitte füllen Sie das Feld aus"
    
        If Me.TextBox1.Value = "" Then
            MsgBox AusgabeFehler
        Else
            Sheets("Vorlage_Statusblatt_I").Copy After:=Sheets(Sheets.Count)
            ActiveSheet.Name = Me.TextBox1.Value
            Unload Me
        End If
    End Sub
  5. Teste den Code: Speichere deine Änderungen und teste die Funktionalität, um sicherzustellen, dass der Fehler behoben ist.


Häufige Fehler und Lösungen

Hier sind einige häufige Fehler, die beim Kompilieren in VBA auftreten können, sowie deren Lösungen:

  • Fehler: "Ungültiger Bezeichner": Dies geschieht oft, wenn ein Objekt wie eine TextBox als Variable deklariert wird. Löse das Problem, indem du die Deklaration der TextBox entfernst.

  • Fehler: "Fehler beim kompilieren - erwartet =": Dieser Fehler tritt häufig auf, wenn du versuchst, eine Zuweisung vorzunehmen, ohne das Gleichheitszeichen zu verwenden. Überprüfe deine Zuweisungen im Code.


Alternative Methoden

Falls du auf den Fehler "excel vba ungültiger bezeichner" stößt und die oben genannten Lösungen nicht funktionieren, kannst du alternative Ansätze ausprobieren:

  • Verwende die Me-Referenz: In UserForms kannst du mit Me.TextBox1 auf die TextBox zugreifen, um Verwirrungen zu vermeiden.

  • Verwende eine andere Variable: Wenn du eine zusätzliche Variable benötigst, um den Wert der TextBox zu speichern, benutze einen anderen Namen, z.B. TextBoxValue.


Praktische Beispiele

Hier sind einige praktische Beispiele, um den Umgang mit TextBoxen in VBA zu veranschaulichen:

  1. Einfaches Auslesen einer TextBox:

    Private Sub CommandButton1_Click()
        MsgBox "Der eingegebene Name ist: " & Me.TextBox1.Value
    End Sub
  2. Kopieren eines Arbeitsblatts und Umbenennen:

    Private Sub CommandButton1_Click()
        If Me.TextBox1.Value = "" Then
            MsgBox "Bitte füllen Sie das Feld aus."
        Else
            Sheets("Vorlage_Statusblatt_I").Copy After:=Sheets(Sheets.Count)
            ActiveSheet.Name = Me.TextBox1.Value
        End If
    End Sub

Tipps für Profis

  • Verwende Fehlerbehandlungsroutinen: Füge eine Fehlerbehandlung hinzu, um unerwartete Fehler während der Laufzeit zu vermeiden.

    On Error GoTo Fehlerbehandlung
    ' Dein Code hier
    Exit Sub
    
    Fehlerbehandlung:
    MsgBox "Ein Fehler ist aufgetreten: " & Err.Description
  • Dokumentiere deinen Code: Füge Kommentare hinzu, um den Zweck jeder Codezeile zu erläutern, damit du und andere Benutzer später leichter verstehen, was der Code tut.


FAQ: Häufige Fragen

1. Warum bekomme ich die Fehlermeldung "vba fehler beim kompilieren"? Diese Fehlermeldung tritt auf, wenn du einen ungültigen Bezeichner in deinem Code benutzt. Überprüfe deine Variablen und Objektnamen auf Schreibfehler.

2. Was mache ich, wenn meine TextBox nicht funktioniert? Stelle sicher, dass die TextBox korrekt benannt ist und dass du nicht versuchst, sie als Variable zu deklarieren. Benutze stattdessen die Me-Referenz.

3. Wie kann ich sicherstellen, dass mein VBA-Code fehlerfrei ist? Testen und Debuggen sind entscheidend. Nutze den Debugger im VBA-Editor, um deinen Code Schritt für Schritt zu überprüfen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige