Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Textfeld im Formular


Betrifft: Textfeld im Formular von: Joachim
Geschrieben am: 13.09.2019 21:14:57

Hallo Ihr Lieben,
hab da mal wieder eine Frage.
Ich habe ein Formular, in dem ich ein Textfeld eingebaut habe, wo der Nutzer einen Kommentar eingeben kann. Aus Platzgründen ist dieses Textfeld leider nur eine Zeile hoch und 20 Zeichen breit. Nun kommt es allerdings sehr häufig vor, dass der Nutzer mehr als 20 Zeichen eingibt. Gibt es eine Möglichkeit, wie der Nutzer trotzdem den gesamten Inhalt angezeigt bekommt? So eine Art PopUp?
Vielen Dank.

VG Joachim

  

Betrifft: AW: Textfeld im Formular von: 1713008.html
Geschrieben am: 13.09.2019 21:37:13

Du kannst horizontale und/oder vertikale Scrollbars einbauen.

  

Betrifft: AW: Textfeld im Formular von: 1713010.html
Geschrieben am: 13.09.2019 22:26:57

Hallo Joachim,

Du könntest ein Label unter/neben die TextBox platzieren und dessen Visible-Eigenschaft beim Öffnen der Userform und beim Verlasen der TextBox auf false setzen und im Keyup-Ereignis der TextBox

With Label1
.Visible = True
.Caption = TextBox1.Text
End With

eintragen. Dann wird der gesamte Text im Label angezeigt (mit Zeilenumbruch, je nach Größe des Labels).

Gruß Rolf

  

Betrifft: AW: Textfeld im Formular von: 1713014.html
Geschrieben am: 14.09.2019 01:39:15

Vielen dank für die Ideen.
Hab noch ein Problem.
In einer Zelle habe ich ein Datum stehen (z.B. 12.19.2019). Nun möchte ich die 12 in eine Textbox in einem UF übertragen, die 19 in ein anderes und die 2019 ebenfalls wieder in ein anderes. Ist das irgendwie möglich?
Nochmals vielen Dank.

VG Joachim

  

Betrifft: AW: Textfeld im Formular von: 1713044.html
Geschrieben am: 14.09.2019 12:30:47

Hallo Joachim,

wenn das ein echtes Datum ist, dann mit Format:

Textbox1.Text=Format(Range("A1"),"dd")
Textbox2.Text=Format(Range("A1"),"mm")
Textbox3.Text=Format(Range("A1"),"yyyy")

Gruß Rolf

  

Betrifft: AW: Textfeld im Formular von: 1713048.html
Geschrieben am: 14.09.2019 12:55:37

Hallo Rolf, funktioniert das auch mit ner ComboBox? Habe also 3 Comboboxen im UF. Hier kann ich Tag,Monat und Jahr auswählen. Das Datum führe ich dann zusammen, und schreibe es in eine Zelle. Wenn ich das UF wieder öffne, sollen die Daten wieder zurückgeschrieben werden. also das Datum aus jetzt einer Zelle, wieder zurück in die 3 Comboboxen (Tag/Monat/Jahr)

  

Betrifft: AW: Textfeld im Formular von: 1713054.html
Geschrieben am: 14.09.2019 13:55:30

Hi
wenn Eingabewerte in der Userform erhalten bleiben sollen, geht das am einfachsten, in dem man die jeweiligen Steuerelemente mit einer Ausgabezelle verknüpft.
hierzu trägt man die jeweilige Zelldresse in die Eigenschaft ControlSource ein, am besten mit Angabe des Tabellenblatts: 'Tabelle1'!A1
Ein VBA-Code ist nicht erforderlich, Excel macht dann das Schreiben und Auslesen der Werte automatisch.

dein Datum im Tabellenblatt kannst du dann per Formel aus den Werten dieser Zellen erstellen, dann geht das auch ohne VBA-Code.

Gruß Daniel

  

Betrifft: AW: Textfeld im Formular von: 1713055.html
Geschrieben am: 14.09.2019 13:59:49

Danke Daniel, würde es aber gerne schon in meinen Code einbinden.
Und wie gesagt, es handelt sich um das Datum in einer Zelle, welches in 3 Comboboxen (Tag/Monat/Jahr) zurückgeschrieben werden soll. Trotzdem Danke

  

Betrifft: AW: Textfeld im Formular von: 1713056.html
Geschrieben am: 14.09.2019 14:03:44

aber warum an zwei Stellen was aufwendig programmieren, wenn man es mit einem Eintrag in eine Eigenschaft ebenfalls erreichen kann?
Gruß Daniel

  

Betrifft: AW: Textfeld im Formular von: 1713064.html
Geschrieben am: 14.09.2019 15:33:34

hab ja in den comboBoxen bereits Werte vorgegeben bei Tag die Zahlen 1-31, Monat 1-12, Jahr.

  

Betrifft: AW: Textfeld im Formular von: 1713067.html
Geschrieben am: 14.09.2019 15:49:12

ja und?
das macht ja nichts
dann steht in den verknüpften Zellen auch die eine Zahl von 1-31, 1-12 und die Jahreszahl, welche du dann in der Zielzelle für das Datum mit der Funktion DATUM problemlos zu einem solchen verbinden kannst.
Um das zu erreichen, was du bisher beschrieben hast, benötigst du keine einzige Zeile VBA-Code.
Das sollte dir bei VBA-bescheiden eigentlich entgegen kommen.

Gruß Daniel

  

Betrifft: AW: Textfeld im Formular von: 1713030.html
Geschrieben am: 14.09.2019 11:32:28

Hi
du hast doch die Eventmakros, welche bei bestimmten Aktionen automtatisch ausgeführt werden.
du könntest also das ENTER-Event verwenden um die Textbox zu vergrößern und das EXIT-Event, um sie zu verkleinern. Dann wird die Textbox beim Anklicke groß und beim klicken auf das nächste Steuerelement wieder klein.

wenn das ganze schon beim drüberfahren passieren soll, müsstest du das MOUSEMOVE-Event der Textbox zum vergrößern und das MOUSEMOVE-Event der Form zum verkleinern verwenden.

Gruß Daniel

  

Betrifft: AW: Textfeld im Formular von: 1713034.html
Geschrieben am: 14.09.2019 11:56:07

Hi Daniel, vielen Dank.
Wie wäre der Befehl, um das Textfeld entsprechend zu vergrößern/verkleinern in VBA?
Daaanke.

  

Betrifft: AW: Textfeld im Formular von: 1713039.html
Geschrieben am: 14.09.2019 12:06:58

HI
die Höhe der der Textbox legst du mit der Eigenschaft .Height fest, die Bereite mit .Width

TextBox1.Height = 100
TextBox1.Height = 10

Gruß Daniel

Beiträge aus dem Excel-Forum zum Thema "Textfeld im Formular"