Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
352to356
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
352to356
352to356
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Userform/ zeichen zählen

Userform/ zeichen zählen
15.12.2003 13:49:35
Niels
Hallo,

ich habe folgendes Problem. Ich öffne beim Öffnen einer Arbeitsmappe eine UserForm. In dieser soll in eine Textbox ein Titel eingegeben werden. So weit klappt das auch.

Der Titel darf allerdings nur 39 Zeichen lang sein. Nun würde ich gern folgendes ralisieren. Über der Textbox soll z.b. stehen:

"Sie haben noch 39 Zeichen"

Wenn dann ein Zeichen in die Textbox eingegben wird, soll da stehen:

"Sie haben noch 38 Zeichen"

Ist das zu ralisieren.

Würd mich freuen, wenn sich jemand findet, der weiß wie man das macht oder der weiß wo ich es nachlesen kann, wie man das macht.


Gruß

Niels

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

Betreff
Datum
Anwender
Anzeige
AW: Userform/ zeichen zählen
15.12.2003 13:55:19
Galenzo
Hallo,
erstelle in der Userform ein Textfeld "TextBox1" und ein Label "Label1".
Trage für die Textbox diese Anweisung in das "KeyUp"-Ereignis ein:


Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    Label1.Caption = "Noch " & CStr(38 - Len(TextBox1.Value)) & " Zeichen"
End Sub

Viel Erfolg!
Anzeige
AW: Userform/ zeichen zählen
15.12.2003 14:37:22
Niels
Hallo,

vielen Dank erstmal.

Textbox und Label erstellen klar, doch leider komme ich dann nicht weiter.

Leidr weiß ich nicht, was ich hiermit ' "KeyUp"-Ereignis ' anfangen soll.

Kannst du es vielleicht noch mit anderen Worten beschreiben?

Vielen Dank.

Gruß

Niels
AW: Die Ereignis-Prozedur als solche
16.12.2003 08:19:07
Galenzo
Hallo,

na klar:
Jedes Objekt, so auch eine Textbox reagiert auf verschiedene Ereignisse.
Eine Textbox kann z.B. auf Mausklick, auf Änderung_des_Wertes, auf DragAndDrop usw. reagieren - und u.a. auch auf Tastendruck. Dies ist das sog. KeyUp-Ereignis, welches dann ausgelöst wird, wenn die Taste wieder lsogelassen wird. (es gibt auch noch ein KeyDown-Ereignis - richtig, das wird ausgelöst, wenn die Taste runtergedrückt wird.
Alle Anweisungen, die du "in das Ereignis" reinschreibst werden eben dann abgearbeitet, wenn dieses Ereignis ausgelöst wird.
Das Grundgerüst einer solchen Ereignis-Prozedur stellt dir der VBA-Editor schon zur Verfügung:
Nachdem du die Textbox und das Label in der Userform erstellt hast wechselst du in den Code der Userform. (z.B. Rechtsklick auf die Userform und "Code anzeigen")
Zwischen dem großen Editor-Fenster und den Symbolleisten oben findest du zwei lange Dropdown-Kombifelder. Im ersten (linken) suchst du dir aus der Liste deine TextBox1 raus und aus der rechten das Ereignis "KeyUp". Es werden zwei Code-Zeilen erzeugt, welche Beginn und Ende der Ereignisprozedur markieren.
Dazwischen schreibst du nun deine Anweisung:
Label1.Caption = "Noch " & CStr(38 - Len(TextBox1.Value)) & " Zeichen"

Da ist übersetzt soviel wie:
Der Text des Labels1 soll sein: Das Wort "Noch" sowie 38 abzüglich der Länge des Textes, der in der Textbox1 steht und dazu noch das Wort Zeichen. (Die Funktion CStr wandelt die Zahl vorher noch in einen Text um.) Der Text im Label wird also aus hier 3 Teilen zusammengesetzt. Das kannst du dann ja noch anpassen - zum Verbinden nimmst du immer das &.

Das ist hier aber nur die Anweisung, welche die Länge des eingegebenen Textes ausliest - du mußt dir dann noch eine Prozedur basteln, welche die Länge auch BEGRENZT!

Ich hoffe, das hilft dir erstmal weiter.

"Viel Spaß" & "Viel Erfolg"
Anzeige
AW: Die Ereignis-Prozedur als solche
16.12.2003 17:00:32
Niels
Hallo,

vielen Dank erstmal für die ausführliche Hilfe.

Das klappt soweit ganz gut. Leider erscheint die Schrift 'Nur noch ...Zeichen' erst, wenn man bereits ein Zeichen eingegeben hat. Also das Erste was da steht ist, 'Noch 37 Zeichen'. Ist es auch möglich, dass der Text von Anfang an da steht, wenn die UserForm geöffnet wird, also 'Noch 38 Zeichen'?


Vielen Dank für die Ausführliche Hilfe.

Gruß

Niels
AW: siehe Antwort auf dein anderes Posting
18.12.2003 09:34:47
Galenzo
.. siehe oben

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige