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

prozedur nach "afterupdate" irgendeiner textbox

prozedur nach "afterupdate" irgendeiner textbox
11.11.2008 14:50:00
uli
Hallo Experten,
Hoffe ihr könnt mir bei meinem kleinen Problem helfen.
Habe eine USerform mir ca 70 Textboxen. In diese Textboxen werden Werte teilweise von Hand eingetragen oder automatisch berechnet und befüllt. Diese Textboxen sollen alle ein einheitliches Zahlenformat haben ("#,##0.00"). Dieses Zahlenformat aktiviere ich im Moment über den "afterupdate" - Zusatz der TExtboxen. Ich habe das jetzt bei wenigen gemacht, finde es allerdings unschön soviele private subs zu schreiben.
Kann ich irgendwie ein private sub schreiben, dass nach Aktualisierung irgendeiner Textbox das Zahlenformat ändert?
Also nicht: private sub Textbox10_afterupdate
sondern in der Art: private sub Textbox(egal welche)_afterupdate?
Gruß
Uli

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: prozedur nach "afterupdate" irgendeiner textbox
11.11.2008 14:58:24
Rudi
Hallo,
da sehe ich keine Chance, da afterupdate in eigenen Klassen nicht unterstützt wird.
Du kannst allenfalls in Textbox_afterupdate eine Sub aufrufen, die die Formatierung erledigt, allerdings auch 70 mal.
Gruß
Rudi
AW: prozedur nach "afterupdate" irgendeiner textbox
11.11.2008 15:30:22
Beverly
Hi Uli,
wie schon Hajo schrieb geht das mit Klassenprogrammierung. Im Anhang ein einfaches Beispiel mit 5 TextBoxen, bei dem nach dem Verlassen der TextBox mit Enter die Anzeige in das von dir vorgegebene Format umgewandelt wird.
https://www.herber.de/bbs/user/56677.xls


Anzeige
AW: prozedur nach "afterupdate" irgendeiner textbox
11.11.2008 16:11:00
uli
Hallo Hajo, Rudi und Beverly,
vielen Dank für eure Hilfe. Wie HAjo schon vermutet hat, haben meine VBA-Kenntnisse nicht ausgereicht, den Code von Hajo zu entschnippseln und die richtigen Zeilen rauszuholen. Trotzdem Danke dir!
@Beverly: Dein Code funktioniert einwandfrei. Wenn ich ihn allerdings bei mir einfüge, meckert er bei öffnen meiner Userform über:
Option Explicit
Public clsTextBoxen() As New clsTextBox
mit dem Fehler: Fehler beim Kompilieren Benutzerdefinierter Typ nicht definiert
Ich probier allerdings noch ein bisschen. Vielleicht bekomme ich es ja noch hin.
Ist es möglich die Formatierungen auch bei Maus-klick in eine andere Textbox oder in die USerform durchführen zulassen (Zusätzlich zum Enter)?
Gruß
Uli
Anzeige
AW: prozedur nach "afterupdate" irgendeiner textbox
11.11.2008 16:25:42
Beverly
Hi Uli,
in diesem Fal ist ein Verweis nicht gesetzt. Schau mal im VBA-Editor unter Extras -&gt Verweise. Bei mir sind folgende Verweise gesetzt und es funktioniert:
- Visual Basic For Application
- Microsoft Excel 10.0 Object Libray
- OLE Automation
- Microsoft Office 10.0 Object Libray


AW: prozedur nach "afterupdate" irgendeiner textbox
11.11.2008 16:30:05
uli
Hallo Karin,
die hab ich auch, allerdings 11 statt 10.0. Zusätzlich hab ich noch Microsoft Forms 2.0
Gruß
Uli
AW: prozedur nach "afterupdate" irgendeiner textbox
11.11.2008 17:03:00
uli
ahhhhhh, Fehler gefunden...
Ist mir schon echt peinlich. Hab das Klassenmodul clsTestbox statt clsTextbox genannt...
Gibt es irgendwo eine Liste, die die Nummern der Tasten auflistet?
Gruß
Uli
Anzeige
AW: prozedur nach "afterupdate" irgendeiner textbox
11.11.2008 17:23:00
Beverly
Hi Uli,
du meinst den Ascii-Code? Schau mal in der VBA-Hilfe unter dem Stichwort Zeichensatz.
Um die TextBox auch bei Verlassen mit der Maus zu formatieren, musst du in einer Schleife über alle Steuerelemente des Userforms laufen und wenn es eine TextBox mit numerischem Wert ist diese entsprechend formatieren. Dazu in einem allgemeinen Modul:

Sub textboxen_formatieren()
Dim coElement As Control
For Each coElement In frmEintrag.Controls
If TypeName(coElement) = "TextBox" Then If IsNumeric(coElement) Then coElement = Format( _
CDbl(coElement), "#,##0.00")
Next coElement
End Sub


im Codemodul des UserForms


Private Sub UserForm_Click()
textboxen_formatieren
End Sub


und im Klassenmodul


Private Sub clTextBox_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As  _
Single, ByVal Y As Single)
textboxen_formatieren
clTextBox.SetFocus
End Sub




Anzeige
AW: prozedur nach "afterupdate" irgendeiner textbox
11.11.2008 17:39:00
uli
Hallo Karin,
Toll. Genauso hab ich mir den Code vorgestellt. Vielen Dank Dir!!!
Gruß
Uli

305 Forumthreads zu ähnlichen Themen


Hallo liebe VBA Profis
ich bin auf ein für mich nicht lösbares Problem - vielleicht sogar Phänomen gestoßen...
Leider kann ich keine Phänomene dieser Art gebrauchen.
Damit es für Sie etwas anschaulicher wird, hab ich mein Problem als Beispiel (https://www.herber.de/bbs/user/54427.xl...
Anzeige

Hallo liebe VBA Profis
(Danke an Jürgen, der sich meines Problems annehmen wollte, aber der UpLoad meiner Datei war irgendwie fehlgeschlagen - hier der 2. Versuch)
ich bin auf ein für mich nicht lösbares Problem - vielleicht sogar Phänomen gestoßen...
Leider kann ich keine Phänomene...

Hallo zusammen,
würde gerne, wenn es möglich wäre, das Datum in der TextBox im Format TT.MM.YYYY
zurückschreibe in die Zelle A1 im Format YYYY-MM-TT 00:00 z. B. 2008-07-01 00:00
Wenn es möglich ist dann wie?
Hat jemand eine Idee und kann weiter helfen?
Danke im Voraus.
...
Anzeige

Guten Morgen!
wie ich Daten über Userform TextBoxen in die Zellen zurückschreibe, dafür habe ich bereits eine Lösung.
Is es jedoch möglich einen gefärbten Hintergrund einer TextBox in die dafür vorgesehene Zelle zu übertragen?
Wenn ja, wie würde dann bitte eine VBA Lösung lauten?

Hi,
ich habe eine Frage zur Ausrichtung einer Textbox: Ich habe auf meinem Sheet ein paar Textboxen (untereinender) die je nach Grösse und Inhalt zueinander in Höhe ausgerichtet werden (Makro)
Ganz unten im Sheet habe ich sowas , wie eine Fusszeile eingefügt, eine kleine Grafik (jpg, ei...

Hallo Wissende,
Autofilter "vergißt" einige Zeilen wenn mehr als 1000 unterschiedliche Listeneinträge da sind.
Deshalb bastelte ich mir folgenden Code. man hat im Blatt eine TextBox und eine Listbox. Je nach Eingabe in die Textbox erscheinen in der Listbox nur die Einträge die anfangs s...
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige