Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Friedrichroda /
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 10 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
  Zelle suchen und wert aus anderem blatt addieren Safety-Tussi 8 75 24.03.2017, 14:23
Letzter Beitrag: Safety-Tussi
  Wert einer Zelle als variable, welche den Wert einer anderen Zelle beeinflusst backflipnick 8 71 24.03.2017, 10:07
Letzter Beitrag: shift-del
  Daten/Wert von Textfeld in bestimmte Zelle McArthur1 12 199 23.03.2017, 05:02
Letzter Beitrag: schauan
  MessageBox liest nicht aktuellen Wert aus Zelle aus dertommy 5 68 22.03.2017, 11:55
Letzter Beitrag: dertommy
  autocomplete textbox / Bezug Quelle soldblub 12 223 13.03.2017, 08:56
Letzter Beitrag: RPP63
  Textbox zählen, laufende Nr. vorgeben Pia 6 134 03.03.2017, 20:25
Letzter Beitrag: schauan
  Mit einem Wert aus Zelle Filtern ?! Okrian 4 91 25.02.2017, 17:20
Letzter Beitrag: schauan
  Buchstabenanzahl pro Zeile in einer TextBox berechnen Wulfi 3 167 25.01.2017, 19:16
Letzter Beitrag: atilla
  Datum abgleichen und ggf. Wert aus Zelle wiedergeben Tobias159 13 283 19.01.2017, 09:50
Letzter Beitrag: Tobias159
  Wert aus einer Tabelle in einer Zelle anzeigen Kern0605 3 178 17.01.2017, 18:22
Letzter Beitrag: BoskoBiati

Gehe zu:


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