Gebundenes Textfeld in Userform formatieren

Hallo,

da ich mich bisher nicht wirklich um EXCEL gekuemmert habe, und jetzt ein kleines Problem zu loesen habe… vieleicht kann mir jemand weiterhelfen.

Folgendes:EXCEL 2003/2010.
Aus eine Blatt werden in einer Userform Zellinhalte referenziert. Die Zellen sind als Zahl mit 2 Nachkommastellen formatiert.
In der Userform sind die Nachkommastellen nicht begrenzt.
Unschoen und ist vor allem bei der Dateneingabe laestig.
Wie kann ich in der Userform ein Format festlegen, wie z.B. in Formularfelder in Access?

Any help welcome

Peter

Hallo Peter,

was bitte ist ein gebundenes Textfeld?

Aus eine Blatt werden in einer Userform Zellinhalte
referenziert.

Wie referenzierst du da?

Die Zellen sind als Zahl mit 2 Nachkommastellen
formatiert.
In der Userform sind die Nachkommastellen nicht begrenzt.

Eine Textbox hat Textinhalt, keine Zahlen, sondern diese als Text.
Wenn du da die Zelle mit zwei Nachkommazellen formatierst werden
dort auch nur zwei angezeigt aber der Zellinhalt hat mehr
Nachkommastellen. May be, noch nie probiert, in den Optionen gibt
es ein Häkchen bei „Genauigkeit wie angezeigt“.

Unschoen und ist vor allem bei der Dateneingabe laestig.
Wie kann ich in der Userform ein Format festlegen, wie z.B. in
Formularfelder in Access?

Ich kenne die Regeln in Access Null.
Schaue mal bei den Ereignissen einer TextBox zu „exit“.
Da könnte man Code einbauen der formatiert.

Gruß
Reinhard

Hallo,

was bitte ist ein gebundenes Textfeld?

Aus eine Blatt werden in einer Userform Zellinhalte
referenziert.

Wie referenzierst du da?

In der Userform gibt es Felder die mittels der ControlSpource- Eigenschafte Informationen aus best. Zellen anzeigen.

Die Zellen sind als Zahl mit 2 Nachkommastellen
formatiert.
In der Userform sind die Nachkommastellen nicht begrenzt.

Eine Textbox hat Textinhalt, keine Zahlen, sondern diese als
Text.

Ja klar, das ist auch nicht das Problem. In Access kann ich jedem Textfeld eine Eingabemaske/Ausgabemaske definieren. und somit festlegen wie die Information dargestelllt wird. Das hat auch den Vorteil, das die Benutzereingabe schon in die entsprechende Maske gezwungen wird und viele Plausibilitaetsueberpruefungen schon mal entfallen.

Und bei den Zahlen ist es eben das Problem das die Formatierung der Zelle nicht in das Textfeld uebernommen wird (bzw. ich weis nicht wie man das bewerkstelligt). Intern arbeitet EXCEL bei Zahlenfeldern immer mit dem kompletten 32Bit Float, und nur die Darstellung wird formatiert und ewt. gerundet. Anders bekaemme man ja bei mehrstufigen bzw. umfangreichen Berechnungen Rundungsfehler ohne Ende.

Tschau

Peter

Hallo Peter,

Wie referenzierst du da?

In der Userform gibt es Felder die mittels der ControlSpource-
Eigenschafte Informationen aus best. Zellen anzeigen.

alles klar, hab schwer gepennt.

Ich habe evtl. noch paar verständnisfragen, lade bitte eine mappe hoch
mit dem obersten Link in FAQ:2606

Intern
arbeitet EXCEL bei Zahlenfeldern immer mit dem kompletten
32Bit Float, und nur die Darstellung wird formatiert und ewt.
gerundet. Anders bekaemme man ja bei mehrstufigen bzw.
umfangreichen Berechnungen Rundungsfehler ohne Ende.

Ich kenne das so daß Excel bei Zahlen 15 signifikante Stellen
„kann“. Also Komma und 14 Ziffern oder 6 vorm Komma und 9 dahinter.
Mehr Genauigkeit ist nicht drin.

Gruß
Reinhard

Hallo Reinhard,

dank fuer deine Muehe, aber so wie es aussieht muss man in den EXCEL Userforms so ziehmlich alles „von Hand“ implementieren. Denn es nicht nur mit der Darstellung getan, ich muss dann auch noch die entsprechenden Plausibilitaetspruefungen implementieren.

Tschau
Peter

Hallo Peter,

wenn Du in Deiner Userform ein Textfeld installiert und z.B. mit „RowSource“ auf Zelle A1 verweist, dann wird der Inhalt im Textfeld so dargestellt, die er in Zelle A1 sichtbar ist.

Steht in A1 also 1,234567, dann steht das auch in dem Textfeld so. Änderst Du den Inhalt der Zelle A1 nicht, sondern nur das Zahlenformat in „Zahl, 2 Stellen hinterm Komma“, dann siehst Du in der Zelle A1 die Zahl 1,23. Genau diese Zahl steht dann auch im Textfeld Deiner Userform.

Ausprobiert mit Excel 2010.

Gruß
Pauli