Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1648to1652
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Interaktive Textbox
17.10.2018 09:58:33
Aljoscha
Liebe Excel Freunde,
ich hoffe ich finde auf diesem Wege Hilfe bei meinem kleinen Problem. In anderen Forenbeiträgen fand ich zwar ähnliche, jedoch für meinen Fall weniger hilfreiche Lösungsansätze.
Ich habe vor eine Textbox in einem Arbeitsblatt zu platzieren. Die TB soll eine Eingabeaufforderung enthalten, welche verschwindet sobald man in das Eingabefeld klickt.
Mein Ansatz bisher:
Private Sub TextBox1_Enter()
If TextBox1.Value = "Clientennummer eingeben" Then
TextBox1.ForeColor = &H80000008
TextBox1.Text = ""
End If
End Sub

Private Sub TextBox1_AfterUpdate()
If TextBox1.Value = "" Then
TextBox1.BackColor = &H8080FF
TextBox1.ForeColor = &HC0C0C0
TextBox1.Value = "Clientennummer eingeben"
Else
TextBox1.BackColor = &H80FF80
End If
End Sub
Der Code funktioniert, wenn ich ihn mit F8 durchdrücke sehr gut. Allerdings wird er nicht durch die "Enter" und "Afterupdate" Events ausgelöst. Liegt das daran, dass die TB in einem Arbeitsblatt und nicht in einer Userform liegt?
Ich habe es aus Interesse mal in einer Userform ausprobiert. Da klappt es :)
Gibt es einen ähnlichen Befehl für das Arbeitsblatt ?
Vielen Dank schonmal im Voraus :)
Grüße aus Frankfurt

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Interaktive Textbox
17.10.2018 10:14:19
EtoPHG
Hallo,
Ja Textboxen auf Tabellen sind anders konstruiert. Diese Ereignisse gibt es nur für die Userforms-Textboxen!
Warum nicht eine Label/Zellbeschriftung, anstelle dieses unnötig komplizierten Pseudo-Userfreundlichkeit?
Gruess Hansueli
AW: Interaktive Textbox
17.10.2018 10:37:25
Daniel
Hi
so einen Eingabehinweis wie auf HTIM-Seiten üblich ist (im Feld in das die Mailadresse eingegebenwerden soll, steht in grau "Mailadresse"), kannst du in Excel auch ganz einfach mit Zellen erzeugen.
1. schreibe den Hinweistext in die Zelle links vor der eigentlichen Eingabezelle.
2. setze die Spaltenbreite der Spalte mit dem Hinweistext so klein wie möglich, ohne sie ganz auszublenden (1 Pixel)
hier nutzt man aus, dass Excel einen Text, der nicht vollständig in einer Zelle angezeigt werden kann, in den rechten Nachbarzellen weiterschreibt, sofern diese leer sind.
dh ist die eingabezelle leer, siehst du den Hinweistext, enthält die Eingabezelle einen Wert, siehst du ihn aufgrund der sehr schmalen Zelle nicht mehr.
Nachteilig wäre, dass man die Eingabefelder möglichst in die gleiche Spalte setzen sollte, um nicht zu viele schmale Spalten zu bekommen.
wenn du beim Textfeld bleiben willst, würde ich das ander machen:
1. schreibe den Hinweistext in die Zelle (oder in ein Texfeld) und lege die TextBox darüber
2. setze in der Eigenschaftsliste den BackStyle der TextBox auf Transparent
3. schreibe im Change-Event der TextBox einen Code, welcher den Hintergrund auf transparent setzt, wenn die TextBox leer ist und auf opaque, wenn Text vorhanden ist.
Private Sub TextBox1_Change()
TextBox1.BackStyle = IIf(TextBox1.Text = "", 0, 1)
End Sub

weiterhin solltest du bedenken, dass ActiveX-Steuerlemente auf dem Tabellenblatt teilweise andere Events haben als Userform-Steuerelemente.
so gibt es bei ActiveX-TextBoxen kein ENTER, EXIT oder AFTERUPDATE, dort heißen die entsprechenden Event GOTFOCUS und LOSTFOCUS
dh auch hier gilt die Regel, dass man Eventmakros nie kopieren oder direkt schreiben sollte, sondern immer automatisch über die Auswahl in den Comboboxen des Codefensters erstellen sollte.
Gruß Daniel
Anzeige
AW: Interaktive Textbox
17.10.2018 14:03:50
Aljoscha
Vielen Dank für die schnelle Hilfe :)
@EtoPHG:
Das es mit Labels leichter geht weiß ich. Aber wenn man immer die einfachste Lösung verwendet, bleibt der Lerneffekt aus. Denke durch den neuen Ansatz heute habe ich wieder was gelernt :)
@Daniel:
Ich habe es jetzt mit der GotFocus/Lostfocus Variante umgesetzt. Klappt wunderbar. Vielen Dank nochmal für den Ansatz.
Die Anderen beiden Vorschläge hätten zwar gut funktioniert, kamen mir irgendwie "gepfuscht" vor.
Wirklich ein tolles Forum hier. Hätte nicht gedacht so schnell Hilfe zu bekommen.
was ist Pfusch
17.10.2018 14:13:58
Daniel
naja, meiner Erfahrung nach ist "einfach" gar nicht so einfach wie es aussieht.
nach meiner Ansicht wäre Pfusch, wenn in einer Textbox zur Dateneingabe, in welche noch niemand was eingegeben hat, schon was drin steht.
Gruß Daniel
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige