Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


Wert aus Textbox als Währung in Zelle
#1
Hallo liebes Excelforum,


bräuchte mal wieder Hilfe bei ein Problemchen Wink

Mit folgendem Code(Codeteil) schreibe ich die Daten aus den TextBoxen in Tabellenblatt "Produkte"!

Code:
With ThisWorkbook.Sheets("produkte")
         For y = 1 To 58
         TextBox58.Value = Environ("Username") & " " & Date & " " & Time
        .Cells(rngId.Row, y) = ArtikelDB.Controls("Textbox" & y).Value
        .Cells(rngId.Row, 30).Value = 1 * .Cells(rngId.Row, 30).Value
        .Cells(rngId.Row, 31).Value = 1 * .Cells(rngId.Row, 31).Value
        .Cells(rngId.Row, 32).Value = 1 * .Cells(rngId.Row, 32).Value
        .Cells(rngId.Row, 33).Value = 1 * .Cells(rngId.Row, 33).Value
Next y
End With

In den TextBoxen 30, 31, 32 und 33 habe ich Zahlen stehen, diese würde ich gerne als Währung in den jeweiligen Zellen im Tabellenblatt schreiben!
1. Frage: geht es eleganter als ".Cells(rngId.Row, 33).Value = 1 * .Cells(rngId.Row, 33).Value" für nur normale Zahlenformat, also als Zahlen mit denen man dann auch rechnen kann?
2. Frage: wie muss ich das ändern damit um als Währungsformat die Werte zu bekommen?

Vielen Dank schon im Voraus
VG
Alexandra
to top
#2
Hallo Alexandra,

Problem dabei ist, dass Excel den "Text" im Textfeld auch als solchen interpretiert. Wenn Du die Zahl dort ohne Dezimalstellen eingibst, dürfte es klappen. Mit Dezimalstellen müsstest Du im Textfeld statt des Kommas einen Punkt verwenden oder das beim Eintrag oder nachträglich umwandeln. Du hast es mit * 1 gelöst, andere Variante wäre
... = Replace(Sheets(1).TextBoxes(1).Text, ",", ".")
Übrigens würden die Einträge bei Dir 58x neu gesetzt, bei jedem Schleifendurchlauf. Du könntest die 4 Zeilen gleich nach der Schleife platziern und nicht innerhalb.
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
to top
#3
Hi,

Code:
With ThisWorkbook.Sheets("produkte")
    ArtikelDB.TextBox58.Text = Environ("Username") & " " & Date & " " & Time
    For y = 1 To 58
        .Cells(rngId.Row, y) = ArtikelDB.Controls("Textbox" & y).Value
    Next y
    For y = 30 To 33
         .Cells(rngId.Row, y).Value = CDbl(.Cells(rngId.Row, y).Value)
         .Cells(rngId.Row, y).NumberFormat = "#,##0.00 €"
    Next
End With

sollte so gehen ist aber nicht getestet Wink
lg Chris
Feedback nicht vergessen.
3a2920576572206973742064656e20646120736f206e65756769657269672e
 ?mage

to top
#4
Hallo

oder vielleicht auch so

Code:
With ThisWorkbook.Sheets("produkte")
    ArtikelDB.TextBox58.Text = Environ("Username") & " " & Date & " " & Time
    For y = 1 To 29
        .Cells(rngId.Row, y) = ArtikelDB.Controls("Textbox" & y).Value
    Next y
    For y = 30 To 33
        .Cells(rngId.Row, y) = CCur(ArtikelDB.Controls("Textbox" & y))
    Next
    For y = 34 To 58
        .Cells(rngId.Row, y) = ArtikelDB.Controls("Textbox" & y).Value
    Next y
End With

MfG Tom
[-] Folgende(r) 1 Benutzer sagt Danke an Crazy Tom für diesen Beitrag:
cysu11
to top
#5
Hallo Ihr Lieben,


vielen Dank für eure HIlfe und Antworten, habe den Code von Tom genommen, da dieser für mich am einfachsten ist und einfach nachvollziehen kann!

Ein allgemeine Frage habe ich noch und zwar zu:

For y oder For i oder Dim i usw. sind diese i oder y immer nur den jeweiligen Code gültig oder kann es passieren wenn z.B. mehrere Codes in ein Userform stecken, dass ein Code vielleicht das falsche i oder y benutzte aus ein andere Code weiter oben z.B. !

Bitte keine Augenroll Smile


Danke Euch Allen für eure Hilfe

LG
Alexandra
to top
#6
Hi Alexandra,

zu deiner Frage bezüglich Variablen: Es hängt davon ab, was dú im Code definiert hast.

Variablen werden allgemein nur in dem betreffenden Codeteil genutzt.
Willst du das anders nutzen muß die Variable anders definiert werden, z.B. als Public

schau mal hier: https://support.microsoft.com/kb/843144/de
Mit freundlichen Grüßen  Smile
Michael

Win 7 64 bit / Excel 2007/2016
[-] Folgende(r) 1 Benutzer sagt Danke an Zwergel für diesen Beitrag:
cysu11
to top


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Daten werden falsch importiert / Währung -> Datum woldoshop88 1 42 07.12.2016, 20:18
Letzter Beitrag: silex1
  Wert suchen in Spalte und wert da neben ausgeben VBA michel34497 2 50 02.12.2016, 23:33
Letzter Beitrag: michel34497
  In Zelle soll Wert aus Zeile wiedergegeben der Kriterium erfüllt sebster85 1 45 28.11.2016, 11:27
Letzter Beitrag: Kuwer
  Zelle so oft potenzieren bis bestimmter Wert erreicht ist? ChillAlta 17 226 09.11.2016, 19:57
Letzter Beitrag: shift-del
  Problem mit Exit-Ereignis einer Textbox Usedom 4 88 07.11.2016, 20:03
Letzter Beitrag: Usedom
  Tabelle nach Wert durchsuchen, und jede Zeile ausspucken die diesen Wert besitzt THE ARCHITECT 14 282 01.11.2016, 12:19
Letzter Beitrag: snb
  Userform: Anzeige der Textbox-Nummern Rabe 8 155 28.10.2016, 17:52
Letzter Beitrag: Gast 123
  Jede n-te Zelle Wert um 1 addieren McAnimate 5 95 24.10.2016, 09:37
Letzter Beitrag: WillWissen
  Wert einer Zelle in bestimmte Zelle Matthias3L 2 122 08.10.2016, 13:01
Letzter Beitrag: Matthias3L
  Selektierte Werte in ListBox nacheinander in TextBox michel34497 3 147 08.10.2016, 13:00
Letzter Beitrag: michel34497

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste