Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Zahlenformat im Textfeld

Betrifft: Zahlenformat im Textfeld von: Edwin
Geschrieben am: 09.10.2014 14:26:26

Hallo,

dieses Thema wurde bestimmt schon 100.000x diskutiert, aber da ich jetzt nach 3 Stunden googlen nicht weitergekommen bin, traue ich mich jetzt halt doch.

Ich hole mir aus einer Zelle eine Zahl, z.B. 1,63

Bei Übergabe in das Textfeld ist die Zahl bereits amerikanisch, also 1.63

Damit die Zahl deutsch aussieht, könnte ich die Zahl vor Übergabe mit Replace in 1,63 umwandeln.
Vor dem zurückschreiben in die Zelle, könnte ich die Zahl mit Replace wieder amerikanisieren.

1. Das scheint mir aber von hinten durch die Brust, das geht doch bestimmt auch einfacher.

2. Wenn ich eine Ganzzahl z.B. 3 hole, dann wird die im Textfeld auch mit 3 angezeigt. Ich möchte aber, dass Zahlen im Textfeld mit 2 Kommastellen angezeigt werden.
Mit Textfeld = Format(Textfeld, "0.00") wird aus meiner 1.63 aber 163

Vielen Dank für Euer Verständnis.

LG
Edwin

  

Betrifft: Wie ist Xl eingestellt? Darauf kommt es ... von: Luc:-?
Geschrieben am: 09.10.2014 14:47:29

…zuerst an, Edwin;
2. deutet die Reaktion von Format darauf hin, dass es sich um eine lokal-dt xlVersion handelt;
und 3. ist es ggf besser, WorksheetFunction.Text zu verwenden, denn dort können nationale Codes angegeben wdn. Allerdings beziehen sich beide Fktt bei Interpretation der OriginalZahl auf die lokalen xlEinstellungen, falls .Value einer Zelle benutzt wird. Bei Verwendung des bereits formatierten ZellInhalts mit .Text wird in beiden Fällen iaR nichts formatiert.
Gruß, Luc :-?


  

Betrifft: AW: Wie ist Xl eingestellt? Darauf kommt es ... von: Edwin
Geschrieben am: 09.10.2014 15:18:18

Hallo Luc,

ich verstehe nur Bahnhof, da ich keine/wenig VBA-Programmierkenntnisse habe.

zu 2.
wo sehe ich um welche Version es sich handelt?

zu 3.
wie müsste der VBA hierzu aussehen?

LG
Edwin


  

Betrifft: Was hat die lokale Vs primär mit VBA zu tun, ... von: Luc:-?
Geschrieben am: 09.10.2014 15:56:09

…Edwin?
Ich hatte lediglich gefragt, ob du ein deutsches oder US-Xl benutzt, weil du amerikanisch ins Spiel gebracht hast und ein Problem mit DezimalPkt/-Komma hast.
„Der VBA“ ist immer gleich, denn VBA ist eine PgmierSprache. Du willst den PgmCode wissen, aber du hast ja schon einen. Ersetze als Anfang einfach mal Format durch WorksheetFunction.Text. Dem 2.Argument kannst du dann mal einen KlammerAusdruck voranstellen, was aber nur bei Datumsangaben zu fktionieren scheint, zB: "[$-409]MMM TT, JJJJ"
In deinem Fall kannst du sicher auch mit Format von lokalem (XlVs dt) DezimalKomma zu -Pkt mit fmtZahl = Format(zahl*100, "0\.00") wechseln und umgekehrt dann mit: zahl = CLng(Replace(fmtZahl, ".", "")) / 100
Luc :-?


  

Betrifft: TextBox1 = Cells(1,1).Text von: EtoPHG
Geschrieben am: 09.10.2014 16:25:12

löst das Problem einfach, Edwin

Ein TextBox enthält, wie ihr Name schon sagt, eben nur Text.
Und eine Zelle enthält Zahlen oder Text. Mit der .Text Eigenschaft überträgst du den sichtbaren Inhalt der Zelle in eine TextBox.

Gruess Hansueli


  

Betrifft: AW: TextBox1 = Cells(1,1).Text von: Edwin
Geschrieben am: 10.10.2014 09:11:34

Hallo Hansueli,

der sichtbare Inhalt ist z.B. "3,00", da die Zelle als Zahl mit 2 Kommastellen formatiert ist.
Der Zellinhalt ist aber "3" und die "3" wird dann auch übergeben.

LG
Edwin


  

Betrifft: ...nicht verstehen wollen, oder können? von: EtoPHG
Geschrieben am: 10.10.2014 09:28:00

Edwin?,

Wenn du die Zuweisung zur TextBox mit der .Value Eigenschaft der Zelle machst, wird der Wert in der TextBox als String dargestellt.
Wenn du die Zuweisung zur TextBox mit der .Text Eigenschaft der Zelle machst, wird der sichtbare Zellinhalt in der TextBox als String dargestellt.

Ich kann nicht mehr sagen, da du leider deinen Code zu den ausgeführten Tests nicht zeigst.

Gruess Hansueli


  

Betrifft: AW: ...nicht verstehen wollen, oder können? von: Edwin
Geschrieben am: 10.10.2014 10:48:28

Hallo Hansueli,

kein Problem, zeige ich gerne.

Dim F As String, M As String, A As String


Worksheets("Test").Activate
Range("B3").Select
F = ActiveCell.FormulaR1C1
Range("C3").Select
M = ActiveCell.FormulaR1C1
Range("D3").Select
A = ActiveCell.FormulaR1C1

txtFrühstück.Value = F
txtMittagessen.Value = M
txtAbendessen.Value = A

Ich hoffe das hilft weiter.

LG
Edwin


  

Betrifft: AW: ...nicht verstehen wollen, oder können? von: Edwin
Geschrieben am: 10.10.2014 10:58:04

Hallo Hansueli,

Problem gelöst.
Ich hatte Deine Lösung im "Betreff" überlesen.
Sorry!

LG
Edwin


 

Beiträge aus den Excel-Beispielen zum Thema "Zahlenformat im Textfeld"