mal eine Frage: Kann man in einer Userform eine/ mehrere Textboxen (die sich die Einträge aus einer Tabele holen) "ausblenden" wenn kein Wert eingelesen wird, also leer ist? Hat da jemand einen Tip/ code für mich?
thanx
Tom
Um eine Texbox in einer Userform in Excel auszublenden, wenn sie leer ist, kannst Du folgenden VBA-Code verwenden:
Textbox1
) zur Userform hinzu.Im Codefenster der Userform kannst Du folgenden Code einfügen:
Private Sub UserForm_Initialize()
If Range("A1").Value = "" Then
Textbox1.Visible = False
Else
Textbox1.Visible = True
Textbox1.Text = Range("A1").Value
End If
End Sub
Dieser Code prüft, ob die Zelle A1
leer ist. Wenn ja, wird die Texbox ausgeblendet. Andernfalls wird sie angezeigt und mit dem Wert aus A1
gefüllt.
Fehler: Die Texbox wird nicht ausgeblendet, obwohl die Zelle leer ist.
Lösung: Stelle sicher, dass der Code im richtigen Ereignis (z.B. UserForm_Initialize
) platziert ist und die Zelle korrekt referenziert wird.
Fehler: Texbox bleibt sichtbar, obwohl die Zelle leer ist.
Lösung: Überprüfe, ob die Zelle tatsächlich leer ist oder nur Leerzeichen enthält. Du kannst die Prüfung mit Trim(Range("A1").Value) = ""
verbessern.
Eine alternative Methode besteht darin, die Texbox bei der Eingabe zu überprüfen. Hier ist ein Beispiel:
Private Sub Textbox1_Change()
Textbox1.Visible = Not (Textbox1.Text = "")
End Sub
Dieser Code blendet die Texbox aus, wenn der Benutzer sie leert.
Wenn Du mehrere Texboxen hast, kannst Du eine Schleife verwenden, um alle zu überprüfen:
Private Sub UserForm_Initialize()
Dim ctrl As Control
For Each ctrl In Me.Controls
If TypeName(ctrl) = "TextBox" Then
ctrl.Visible = Not (ctrl.Text = "")
End If
Next ctrl
End Sub
Dieser Code geht durch alle Steuerlemente der Userform und blendet die Texboxen aus, wenn sie leer sind.
Visible
-Eigenschaft der Texboxen, um eine bessere Benutzeroberfläche zu schaffen. Das kann auch auf Checkboxen angewendet werden, um sie auszublenden, wenn sie leer sind.1. Frage
Kann ich die Texbox auch ausblenden, wenn eine andere Zelle leer ist?
Antwort: Ja, Du kannst die Referenz zur Zelle einfach anpassen, z.B. Range("B1").Value
.
2. Frage
Funktioniert dieser Code auch in Excel Online?
Antwort: Der VBA-Code funktioniert nur in Desktop-Versionen von Excel und nicht in Excel Online.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen