Clever-Excel-Forum

Normale Version: Tausender-Trennung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
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
Wenn keine Kommata angezeigt werden sollen, wieso schreibst du sie dann ins Format hinein? (0.00)
Code:
TextBox1 = Format(UserForm1.TextBox1, "#,##0")
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
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
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.
Hallo,


[A1].NumberFormat = "@"
[A1] = Textbox1.Value

In einer TextBox steht Text, deshalb solltest du die Zelle als "Text" formatieren.

Sigi
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
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.
Moin!
Zumal das ja nun mal rein gar nixxx mit der Threaderöffnung zu tun hat ...

Gruß Ralf
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
Seiten: 1 2 3