Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1664to1668
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
Zahlenformat in Textbox (Userform)
09.01.2019 15:38:58
Dave
Hallo zusammen,
in einer UF sollen 3 Zahlen (Betrag1, Wechselkurs, Betrag2) stehen. Beim Aufruf wird standardmäßig überall 1 eingetragen. Dabei sollen die Beträge mit Tausender-Punkt und 2 Nachkommastellen stehen, der Kurs mit 4 Nachkommastellen.
Aus meiner Recherche hatte ich das Nachfolgende ausprobiert:

Private Sub UserForm_Initialize()
Dim Exchange As Double, Betrag1 As Double, Betrag2 As Double
Exchange = Format(CDbl(1), "#.##0,00")
Betrag1 = Format(CDbl(1), "#.##0,00")
Betrag2 = Format(CDbl(1), "#.##0,00")

Leider klappt es nicht. Ohne das ganze "Format-Zeugs" standen wenigstens die Zahlen drin und ich konnte damit auch rechnen. Jetzt bleiben alle Textfelder einfach leer. Habe schon diverse Kombinationen ausprobiert, ohne Erfolg.
Was mach ich falsch?
Danke!
Gruß
David

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zahlenformat in Textbox (Userform)
09.01.2019 15:48:22
Rudi
Hallo,
du musst die Variablen als String oder als Variant deklarieren.
Format(...) ergibt einen String.
Gruß
Rudi
AW: Zahlenformat in Textbox (Userform)
09.01.2019 16:10:16
Dave
Ok, stimmt, das war mir in dem Zusammenhang nicht bewusst, hätte man aus der ensprechenden Formel-Funktion drauf schließen können. :-)
Ich würde den Inhalt der Textboxen gern als Zahl weiterverwenden und entsprechend formatieren. Geht das überhaupt in einer Textbox?
Danke und Gruß
AW: Zahlenformat in Textbox (Userform)
09.01.2019 16:25:23
UweD
Hallo nochmal
&GT&gtIch würde den Inhalt der Textboxen gern als Zahl weiterverwenden und entsprechend formatieren.
Wie der Name schon sagt, sind TEXTboxen für Text gedacht
Das Weiterrechnen kann aber nach der Eingabe erfolgen.
Sub tt()
    Dim Exchange, Betrag1, Betrag2
    Exchange = InputBox("Exchange", "Wert", Format(1, "#,##0.0000"))
    Betrag1 = InputBox("Betrag1", "Wert", Format(1, "#,##0.00"))
    Betrag2 = InputBox("Betrag2", "Wert", Format(1, "#,##0.00"))
    
    'Beispielrechnung 
    Test = (CDbl(Exchange) * CDbl(Betrag1) * 1.19 * 2) / CDbl(Betrag2)
End Sub
Evtl solltest du mal genauer erklären, was du vorhast.
LG UweD
Anzeige
AW: Zahlenformat in Textbox (Userform)
10.01.2019 08:12:56
Dave
Hallo Uwe,
danke, aber das hilft mir nicht, da meine Frage sich auf eine Userform bezieht, d.h. das nacheinanderfolgende Abarbeiten von mehreren Input-Boxen ist nicht gewünscht.
Im Prinzip hab ich eine Userform kreiert, auf der Reisekosten eingegeben werden können. Beim Betrag sind Fremdwährungen oft vorkommend, so dass ich hier 2 Betragsfelder und einen Kurs brauche. Eingabe und Design etc. klappt auch alles, nun bin ich dabei, die Berechnungen zu realisieren und dabei müssen halt diese 3 Felder als idealerweise als Zahlen weiterverarbeitet werden.
Falls es nicht anders geht, muss ich mit der Darstellung als Text vorlieb nehmen und erst am Ende beim Übertrag in die Tabelle die Umwandlung vornehmen. Ich dachte nur, dass es einfacher wäre, wenn das Formular gleich mit "richtigen" Zahlen rechnet.
Sofern ich andere als Textboxen benutzen sollte, kann ich das gerne einbauen, sie müssen nur eingabefähig bleiben, dh. der Benutzer muss in jedem der 3 Felder manuell eingreifen können.
Gruß
David
Anzeige
Weiter nur mit Musterdatei
10.01.2019 14:15:20
UweD
AW: Weiter nur mit Musterdatei
10.01.2019 14:23:11
Dave
Ok, dann muss ich hier abbrechen. Das ist technisch zu aufwändig umzusetzen, die Datei soweit zu bereinigen.
Danke für deine Bemühungen.
AW: Zahlenformat in Textbox (Userform)
09.01.2019 15:49:23
UweD
Hallo
1)
Du dimensionierst die Variable doch als Double. Das sind GANZE Zahlen ohne Nachkomma.
Also entweder weglassen oder als String
2)
Die musst das amerikanische Format in VBa verwenden. Dort sind Punkt und Komme getauscht.
Sub tt()
    Dim Exchange, Betrag1, Betrag2
    Exchange = Format(1, "#,##0.0000")
    Betrag1 = Format(1, "#,##0.00")
    Betrag2 = Format(1, "#,##0.00")
End Sub
LG UweD
Anzeige
AW: Zahlenformat in Textbox (Userform)
09.01.2019 16:08:38
Dave
Die Dimensionierung war eigentlich nur ein Test, dachte, das CDbl bedeutet dieses Format, nur mit anderer Syntax. Hatte vorher gar keine dabei, ging da auch nicht.
Komma und Punkt tauschen hatte ich auch schon, da kam eine Fehlermeldung.
Im Prinzip möchte ich, dass er die Eingabe als Zahl weiterverwendet und entsprechend auch anzeigt.
Danke.
Unsinn, Uwe
09.01.2019 16:38:46
Rudi
Du dimensionierst die Variable doch als Double. Das sind GANZE Zahlen ohne Nachkomma.
Seit wann das denn?
Double=Gleitkommazahl mit doppelter Genauigkeit
Gruß
Rudi
ups.
09.01.2019 16:47:46
UweD
Da hab ich wohl Double mit Long verwechselt.
Anzeige

37 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige