Registriert seit: 23.01.2017
Version(en): 365 - Version 2208
Hallo miteinander,
wie kann ich es anstellen, dass beim schreiben in eine Textbox (es werden nur Zahlen eingegeben) Werte mit einer Tausender Trennung angezeigt werden?
Also statt 100000 -> 100.000
Oder eben statt 10000 -> 10.000
aber trotzdem wenn 10 dann auch 10
Kommata werden nicht eingegeben und sollen auch nicht angezeigt werden.
Gefunden dazu habe ich
Code:
TextBox1.Text = Format(TextBox1.Text, "#,##0.00")
Das verwürfelt aber eine kleine Zahl komplett :22:
Viele Grüße
Klaus
Registriert seit: 02.05.2018
Version(en): Excel 365 & 2016
Wenn keine Kommata angezeigt werden sollen, wieso schreibst du sie dann ins Format hinein? (0.00)
Code:
TextBox1 = Format(UserForm1.TextBox1, "#,##0")
Schöne Grüße
Berni
Registriert seit: 23.01.2017
Version(en): 365 - Version 2208
Vielen Dank MisterBurns,
ich werd dir mal sagen, dass ich bisher das 0.00 nicht als Komma sondern als Punktierung angesehen habe.
Offensichtlich steht da ja ein Punkt - kein Komma...
Kein Wunder das ich mir das selber nicht zusammen gereimt bekommen habe.
Ich danke dir vielmals - es funktioniert jetzt perfekt.
Viele Grüße
Klaus
Registriert seit: 23.01.2017
Version(en): 365 - Version 2208
Hallo in die Runde,
leider klappt das so doch noch nicht.
Jetzt wird in das Feld in welches der Wert der Textbox übergeben wird, nur alle Zahlen vor der Punktierung übernommen.
Bei 100.000 wird also nur 100 übernommen.
[A1] = Textbox1.Value
(Die Zelle selbst ist mit Tausender Trennung formatiert)
Was kann ich tun damit das korrekt übergeben wird?
Viele Grüße
Klaus
Registriert seit: 02.05.2018
Version(en): Excel 365 & 2016
Zitat:ich werd dir mal sagen, dass ich bisher das 0.00 nicht als Komma sondern als Punktierung angesehen habe.
Offensichtlich steht da ja ein Punkt - kein Komma...
Aber nicht im amerikanischen Englisch, denn das ist die Sprache von VBA.
Code:
Range("A1") = CDbl(UserForm1.TextBox1)
Du hast soeben eine der Problematiken von Userforms erkannt. Bei jeder Zahlenverarbeitung in einer Textbox muss man Kopfstände machen. Textboxen enthalten grundsätzlich immer Text. Man muss ihnen erst umständlich sagen, dass sie eine Zahl daraus machen sollen.
Gerade für Anfänger (und ich bin selber kein Profi) ist es häufig klüger, auf die "professionellen" Userforms zu verzichten und stattdessen ein Tabellenblatt zum Eingabeformular zu machen. Bietet sämtliche Vorteiler der Excel Boardmittel, ohne sich mit den Nachteilen von Userforms plagen zu müssen. Nicht alles, was professionell wirkt, ist es auch.
Schöne Grüße
Berni
Registriert seit: 12.08.2019
Version(en): Office 365
Hallo,
[A1].NumberFormat = "@"
[A1] = Textbox1.Value
In einer TextBox steht Text, deshalb solltest du die Zelle als "Text" formatieren.
Sigi
Folgende(r) 1 Nutzer sagt Danke an Sigi.21 für diesen Beitrag:1 Nutzer sagt Danke an Sigi.21 für diesen Beitrag 28
• Klaus
Registriert seit: 23.01.2017
Version(en): 365 - Version 2208
Vielen Dank an Euch beide,
ich habe nun die Version von Sigi.21 verwendet.
Gleich mal in meinem Köpfchen eingemeißelt das :)
Dankeschön
Registriert seit: 02.05.2018
Version(en): Excel 365 & 2016
Zitat:ich habe nun die Version von Sigi.21 verwendet.
Dann erklär doch mal, welchen Vorteil du dir davon versprichst, eine Zahl (du willst ja offensichtlich eine Zahl erfassen) als Text in die Zelle zu übergeben.
Schöne Grüße
Berni
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
Moin!
Zumal das ja nun mal rein gar nixxx mit der Threaderöffnung zu tun hat ...
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 23.01.2017
Version(en): 365 - Version 2208
Hallo MisterBurns,
ja ich verstehe was du meinst.
Darüber, dass es dann ein Text, statt einer Zahl ist, habe ich noch gar nicht nachgedacht.
Ist mir auch nicht aufgefallen, da es in der Liste "nur" zur Ansicht steht. Wird also rechnerisch nicht mehr ausgewertet.
Aber es stimmt. Im Falle dessen, dass dies doch mal gewünscht wird, werde ich das besser korrigieren.
Danke für den Hinweis.
Viele Grüße
Klaus