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

Inhalt von Textbox durch Anklicken löschen

Forumthread: Inhalt von Textbox durch Anklicken löschen

Inhalt von Textbox durch Anklicken löschen
04.01.2008 08:49:00
Textbox
Hallo nochmal,
ich habe eine Userform mit Textboxen. jetzt will ich, dass in den Textboxen Informationen stehen, wie "Preis" oder "Menge" und der Anwender mit einem Klick auf die Textbox diese aktiviert und den entsprechenden Eintrag vornimmt. Dabei soll bei dem Klick auf die Textbox der Inhalt gelöscht werden. Aber nur einmal, also mit dem ersten Klick auf die Textbox, verschwindet "Preis" und die Textbox nimmt die vom Anwender eingegebene Information entgegen. Wird die Textbox später wieder aktiviert, soll der Inhalt nicht mehr gelöscht werden...
Ausserdem soll der Text "Preis", "Menge", usw. nicht in so farbenfrohem schwarz erscheinen, wie der sonstige Text, sondern etwas schwächer, damit man erkennt, ob die Zelle bereits ausgefüllt wurde oder nicht. (nachdem vom Anwender etwas eingegeben wurde, soll der Text wieder schwarz sein...
jemand eine Idee? ziemlich viel gehäuftes Unwissen, was?
Mfg Uwe

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inhalt von Textbox durch Anklicken löschen
04.01.2008 09:02:00
Textbox
Hallo Uwe,
in den Eigenschaften deiner Textbox kannst Du ja standardmässig
die Bezeichner "Preis" usw. eingeben, ausserdem kannst Du dort
die ForeColor (Schriftfarbe) in ein blasses grau einstellen.
dann brauchst Du noch folgenden Code:

Private Sub TextBox1_Change()
TextBox1.ForeColor = 1
End Sub



Private Sub TextBox1_Enter()
If TextBox1.Value = "Preis" Then
TextBox1.Value = ""
End If
End Sub


und es müsste einigermassen klappen
natürlich darf dabei beim Öffnen der Userform nicht eines der Textfelder den Fokus
erhalten, da dann gleich beim Öffnen der Userform der enthaltene Text gelöscht wird!
Gruß
harry

Anzeige
AW: Inhalt von Textbox durch Anklicken löschen
04.01.2008 09:07:11
Textbox
Hallo
Zum Löschen hinter jede deiner Textboxen diesen Code hinterlegen

Private Sub TextBox1_Enter()
With Me.TextBox1
If Not IsNumeric(.Value) Then
.Value = ""
End If
End With
End Sub


Die Bezeichnungen der Textbox entsprechend anpassen.
Ist ein dieser Textboxen die erste in der Aktivierreihenfolge beim öffnen der Userform, dann funktioniert das nicht, weil der Inhalt dann eben sofort beim öffnen der Userform gelöscht wird da die Textbox dann sofort den Focus erhält.
Das mit den Farben ist entsprechend aufwändig, da stellt sich die Frage ob dieser kosmetische Aufwand nötig ist.
Gruss Rainer

Anzeige
AW: Inhalt von Textbox durch Anklicken löschen
04.01.2008 09:34:00
Textbox
Hi Ramses & Uwe,
Das mit den Farben ist entsprechend aufwändig, da stellt sich die Frage ob dieser kosmetische Aufwand nötig ist.
Damit bin ich nicht ganz einverstanden. z.B. so:
Textbox1 erstellen mit grauer .ForeColor und .Value [Preis]
Textbox2 erstellen mit grauer .ForeColor und .Value [Anzahl]

Private Sub TextBox1_Change()
If TextBox1  "[Preis]" Then TextBox1.ForeColor = 1
End Sub
Private Sub TextBox2_Change()
If TextBox2  "[Anzahl]" Then TextBox2.ForeColor = 1
End Sub


GreetZ Renee

Anzeige
AW: Inhalt von Textbox durch Anklicken löschen
04.01.2008 09:43:17
Textbox
Hallo
Auch eine Variante,... aber so einfach ist es nicht :-)
Die Anforderung lautet:
Bei Eintritt in das Feld soll der Inhalt gelöscht werden, daher muss beim verlassen geprüft werden ob ein Inhalt drin ist und/oder ob ein korrekter Wert drin ist . Was soll ein Preis 0 oder eine Menge 0 :-)
Des gleichen muss dann hinterlegt sein, was mit der Textbox passieren soll wenn nichts drin steht, die Textbox also wieder verlassen wurde Ohne einen Eintrag zu machen.
Soll dann wieder "Preis" oder "Menge" drin stehen, allenfalls in einer anderen Farbe ?
Kosmetik ist gut, ... aber Funktion ist besser ;-)
Gruss Rainer

Anzeige
AW: Inhalt von Textbox durch Anklicken löschen
04.01.2008 09:39:00
Textbox
Hi Uwe,
weshalb ein neuer Thread? Die selbe Frage hattest du doch schon in einem anderen Thread weiter unten gestellt.
Bis später,
Karin
;
Anzeige
Anzeige

Infobox / Tutorial

Textbox-Inhalt durch Klick in Excel löschen


Schritt-für-Schritt-Anleitung

  1. Userform erstellen: Erstelle eine Userform in Excel und füge die gewünschten Textboxen hinzu.
  2. Textboxen konfigurieren: Stelle sicher, dass du die Standardwerte wie "Preis" oder "Menge" in die Textboxen einfügst.
  3. ForeColor anpassen: Ändere die Schriftfarbe der Textboxen auf ein blasses Grau, um den Platzhaltertext hervorzuheben.
Private Sub TextBox1_Initialize()
    TextBox1.ForeColor = RGB(200, 200, 200) ' Blasses Grau
    TextBox1.Value = "Preis"
End Sub
  1. Code für das Löschen des Inhalts: Füge den folgenden Code in den Codebereich der Userform ein, um den Text beim ersten Klick zu löschen:
Private Sub TextBox1_Enter()
    If TextBox1.Value = "Preis" Then
        TextBox1.Value = ""
        TextBox1.ForeColor = RGB(0, 0, 0) ' Schwarz
    End If
End Sub
  1. Fokus vermeiden: Stelle sicher, dass beim Öffnen der Userform keine Textbox den Fokus hat, um ein vorzeitiges Löschen des Inhalts zu verhindern.

Häufige Fehler und Lösungen

  • Fehler: Der Inhalt der Textbox wird beim Öffnen der Userform gelöscht.

    • Lösung: Achte darauf, dass keine Textbox den Fokus hat, wenn die Userform geöffnet wird. Du kannst das im Code des Userform-Init-Events steuern.
  • Fehler: Die Schriftfarbe ändert sich nicht.

    • Lösung: Überprüfe den Code und stelle sicher, dass die ForeColor korrekt gesetzt wird, wenn der Benutzer einen Wert eingibt.

Alternative Methoden

Wenn du den Inhalt von Textboxen in Excel löschen möchtest, kannst du auch Folgendes tun:

  • Verwendung von Buttons: Füge einen Button hinzu, der den Inhalt aller Textboxen in der Userform löscht.
Private Sub btnClear_Click()
    TextBox1.Value = ""
    TextBox2.Value = ""
    ' Weitere Textboxen folgen hier
End Sub
  • Ereignisgesteuertes Löschen: Nutze die Change-Ereignisse der Textboxen, um den Inhalt zu leeren, wenn der Benutzer einen Wert eingibt.

Praktische Beispiele

Hier sind einige Beispiele, wie du Textboxen effektiv in deiner Userform nutzen kannst:

  1. Textbox für Preis:
Private Sub TextBox1_Change()
    If IsNumeric(TextBox1.Value) Then
        TextBox1.ForeColor = RGB(0, 0, 0) ' Schwarz
    End If
End Sub
  1. Textbox für Menge:
Private Sub TextBox2_Change()
    If IsNumeric(TextBox2.Value) Then
        TextBox2.ForeColor = RGB(0, 0, 0) ' Schwarz
    End If
End Sub

Tipps für Profis

  • Verwende With-Anweisungen: Um den Code übersichtlicher zu gestalten, kannst du With-Anweisungen verwenden, um die Eigenschaften einer Textbox zu ändern.

  • Farbänderungen setzen: Experimentiere mit verschiedenen Farbwerten für die ForeColor, um den Nutzern ein besseres visuelles Feedback zu geben.

  • VBA-Modul nutzen: Wenn du viele Textboxen hast, könntest du die Logik der Textboxen in ein Modul auslagern, um den Code wiederverwendbar zu machen.


FAQ: Häufige Fragen

1. Wie kann ich eine Textbox in Excel löschen?
Du kannst die Textbox in der Userform einfach mit dem Befehl TextBox1.Value = "" leeren.

2. Wie ändere ich die Schriftfarbe einer Textbox?
Die Schriftfarbe kann mit TextBox1.ForeColor = RGB(255, 0, 0) geändert werden, wobei du die RGB-Werte anpassen kannst, um die gewünschte Farbe zu erreichen.

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