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

Forumthread: TextBox Inhalt mit VBA löschen

TextBox Inhalt mit VBA löschen
13.02.2015 07:44:58
Ralf
Hallo Forum,
ich habe eine Liste mit Filtern.
Mit diesem Code setze ich alle Filter zurück:
Sub Reset_4()
'--- Bildschirmaktualisierung aus ----
Application.ScreenUpdating = False
On Error GoTo Fehler
ActiveSheet.ShowAllData
Exit Sub
Fehler:
End Sub
Jetzt habe ich in dem Tabellenblatt als weiteren Filter die Möglichkeit mit einem ActiveX Textfeld die Liste zu filtern.
Kann man in dem o. g. Code das Leeren des Textfeldes mit einbeziehen?
Wenn ja, wie?
Vielen Dank im Voraus für eine Rückmeldung.
Viele Grüße
Ralf

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: TextBox Inhalt mit VBA löschen
13.02.2015 07:50:34
Daniel
Hi
nimm noch die Zeile
Textbox1.Text = ""

mit in den Code auf.
(Textboxnamen ggf anpassen)
Gruß Daniel

AW: TextBox Inhalt mit VBA löschen
13.02.2015 08:28:38
Ralf
Hallo Daniel,
vielen Dank.
Die Filterfunktion wird aufgehoben, aber der Text aus der Textbox wird nicht gelöscht.
Kann man das noch einstellen?
Viele Grüße
Ralf

Anzeige
AW: TextBox Inhalt mit VBA löschen
13.02.2015 08:38:05
Daniel
die Anweisung: Textbox1.Text = "" löscht den Text in der Textbox.
du musst diese Befehlszeile noch in dein Makro mit aufnehmen.
Solltest du die Textbox anders beannt haben, musst du den Namen "Textbox1" natürlich entsprechend anpassen.
Gruß Daniel

AW: TextBox Inhalt mit VBA löschen
13.02.2015 08:47:17
Ralf
Hallo Daniel,
das Makro sieht jetzt so aus:
Sub Reset_4()
'--- Bildschirmaktualisierung aus ----
Application.ScreenUpdating = False
On Error GoTo Fehler
ActiveSheet.ShowAllData
txtDirektFilter.Text = ""
Exit Sub
Fehler:
End Sub
Wie gesagt, es funktioniert, aber der Text bleibt in der Textbox.
Im Entwurfsmodus sieht es nach Anklicken der Textbox so aus:
Userbild
Mein Code ist damit richtig, oder?
Viele grüße
Ralf

Anzeige
AW: TextBox Inhalt mit VBA löschen
13.02.2015 09:02:09
Daniel
Hi
sollte funktionieren.
nimm mal das löschen des Textes aus der Fehlerbehandlung raus.
dann gibts vielleicht ne Fehlermeldung beim Löschen, die beim Ermitteln der Ursache hilft.
sollte sich der Code in einem allgemeinen Modul befinden, dann musst du das Tabellenblatt mit angeben.
Sub Reset_4()
'--- Bildschirmaktualisierung aus ----
On Error Resume Next
ActiveSheet.ShowAllData
On Error Goto 0
Sheets("Tabelle1").txtDirektFilter.Text = ""
End Sub
Gruß Daniel

Anzeige
AW: TextBox Inhalt mit VBA löschen
13.02.2015 09:08:12
Ralf
Hallo Daniel,
folgende Fehlermeldung erscheint nun:
Userbild
Beim Debuggen erscheint folgendes:
Userbild
Viele Grüße
Ralf

Anzeige
AW: TextBox Inhalt mit VBA löschen
13.02.2015 09:14:44
Daniel
Hi
dann hast du den Tabellenblattnamen bei Sheets()falsch geschrieben.
kannst da auch "ActiveSheet" hinschreiben, wenn sich die Textbox auf dem selben Blatt befindet.
da ich deine Datei nicht kenne, musst du solche Sachen in meinem Code noch anpassen.
Gruß Daniel

AW: TextBox Inhalt mit VBA löschen
13.02.2015 09:20:15
Ralf
Hallo Daniel,
passt.
Userbild
Ich habe den Text vor der Klammer genommen, also Tabelle1.
Ich habe dies jetzt geändert in "xxx".
Jetzt funktioniert alles wie gewünscht.
Vielen Dank für die Unterstützung.
Viele Grüße
Ralf

Anzeige
AW: TextBox Inhalt mit VBA löschen
13.02.2015 09:40:43
Daniel
wenn du den Text vor der Klammer nimmst dann so:
Tabelle1.Textboxname.Text = ""
diese Variante hätte zudem den Vorteil, dass der Anwender diesen Tabellennamen nicht ändern kann.
der Blattname der in der Klammer steht ist der Name auf dem Reiter und dieser kann vom Anwender geändert werden, dann funktioniert dein Makro nicht mehr.
Gruß Daniel

Anzeige
AW: TextBox Inhalt mit VBA löschen
13.02.2015 09:42:56
Ralf
Hallo Daniel,
dann werde ich dies so, wie von Dir beschrieben umbauen.
Das Argument ist richtig.
Nochmals Danke für die Erklärung und die Unterstützung.
Viele Grüße
Ralf

AW: TextBox Inhalt mit VBA löschen
13.02.2015 09:13:04
Ralf
Hi Daniel,
so funktioniert es jetzt, aber ............
Sub Reset_4()
'--- Bildschirmaktualisierung aus ----
Application.ScreenUpdating = False
On Error GoTo Fehler
ActiveSheet.ShowAllData
Sheets("Tabelle1").txtDirektFilter.Text = ""
Exit Sub
Fehler:
End Sub
Der Text in der Textbox wird erst gelöscht, wenn ich eine andere Zelle im Tabellenblatt anwähle.
Application.ScreenUpdating = False
oder
Application.ScreenUpdating = True
bringt keine Änderung.
Viele Grüße
Ralf
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

TextBox Inhalt mit VBA löschen


Schritt-für-Schritt-Anleitung

Um den Inhalt einer TextBox in Excel mit VBA zu löschen, kannst du folgende Schritte befolgen:

  1. Öffne den VBA-Editor in Excel (drücke ALT + F11).
  2. Füge ein neues Modul hinzu oder öffne ein bestehendes Modul.
  3. Verwende den folgenden Code, um den Inhalt der TextBox zu löschen:

    Sub Reset_4()
       '--- Bildschirmaktualisierung aus ----
       Application.ScreenUpdating = False
       On Error Resume Next
       ActiveSheet.ShowAllData
       ' TextBox leeren
       Sheets("Tabelle1").txtDirektFilter.Text = ""
       Application.ScreenUpdating = True
    End Sub

    Beachte, dass du den Namen der TextBox (txtDirektFilter) anpassen musst, wenn du einen anderen Namen verwendet hast.


Häufige Fehler und Lösungen

  1. TextBox wird nicht geleert: Wenn der Text in der TextBox nicht gelöscht wird, stelle sicher, dass der TextBox-Name korrekt ist und dass die Zeile mit Textbox1.Text = "" im Code enthalten ist.

  2. Fehlermeldungen: Wenn beim Ausführen des Codes eine Fehlermeldung erscheint, kann es daran liegen, dass der Tabellenblattname falsch angegeben wurde. Überprüfe den Namen in der Zeile Sheets("Tabelle1").txtDirektFilter.Text = "".

  3. Text bleibt beim Schreiben: Wenn der Text nicht sofort gelöscht wird, kann es helfen, die Zeile Application.ScreenUpdating zu überprüfen. Manchmal kann es notwendig sein, den Befehl Application.ScreenUpdating = True nach dem Leeren der TextBox zu verwenden.


Alternative Methoden

Eine alternative Methode, um alle Textfelder in einem Excel-Arbeitsblatt zu löschen, ist die Verwendung einer Schleife:

Sub AlleTextfelderLoeschen()
    Dim ctrl As OLEObject
    For Each ctrl In ActiveSheet.OLEObjects
        If TypeOf ctrl.Object Is MSForms.TextBox Then
            ctrl.Object.Text = ""
        End If
    Next ctrl
End Sub

Diese Methode kann nützlich sein, wenn du mehrere TextBoxen hast, die du auf einmal leeren möchtest.


Praktische Beispiele

  • Beispiel 1: Wenn du ein ActiveX Textfeld in einem UserForm verwendest, kannst du den Inhalt mit dem Befehl vba userform leeren wie folgt löschen:

    Private Sub cmdClear_Click()
       txtDirektFilter.Text = ""
    End Sub
  • Beispiel 2: Um ein Textfeld in Access zu leeren, könnte der Code so aussehen:

    Me.txtFeldname = ""

Tipps für Profis

  • Wenn du eine Fehlermeldung beim Löschen des Textes erhältst, versuche, die Fehlerbehandlung mit On Error GoTo Fehler zu aktivieren, um mehr Informationen zu erhalten.
  • Nutze vba textbox clear, um sicherzustellen, dass der Inhalt der TextBox vor der Ausführung des Makros gelöscht wird.
  • Denke daran, dass das Löschen von Inhalten in einer UserForm oder einer ActiveX TextBox leicht variieren kann, je nach Kontext und Verwendung.

FAQ: Häufige Fragen

1. Wie lösche ich den Inhalt einer TextBox in einem UserForm?
Du kannst den Inhalt einer TextBox in einem UserForm mit dem Befehl Textboxname.Text = "" löschen.

2. Funktioniert dieser Code in allen Versionen von Excel?
Ja, der bereitgestellte VBA-Code funktioniert in den meisten modernen Versionen von Excel, die VBA unterstützen.

3. Wie lösche ich alle Textfelder in einem Excel-Arbeitsblatt?
Verwende eine Schleife, um durch alle OLEObjects zu iterieren und den Text der TextBoxen zu löschen, wie im Abschnitt "Alternative Methoden" beschrieben.

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