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
  Textbox zählen, laufende Nr. vorgeben Pia 5 46 Vor 5 Stunden
Letzter Beitrag: Pia
  Mit einem Wert aus Zelle Filtern ?! Okrian 4 51 25.02.2017, 17:20
Letzter Beitrag: schauan
  Buchstabenanzahl pro Zeile in einer TextBox berechnen Wulfi 3 99 25.01.2017, 19:16
Letzter Beitrag: atilla
  Datum abgleichen und ggf. Wert aus Zelle wiedergeben Tobias159 13 189 19.01.2017, 09:50
Letzter Beitrag: Tobias159
  Wert aus einer Tabelle in einer Zelle anzeigen Kern0605 3 111 17.01.2017, 18:22
Letzter Beitrag: BoskoBiati
  Wert nach Prüfung von anderem Wert überschreiben lassen? dodo 4 122 15.01.2017, 17:26
Letzter Beitrag: schauan
  Zeilen sortieren nach erstem Wert in Zelle seraphine 8 162 07.01.2017, 09:44
Letzter Beitrag: schauan
  Click Event bei TextBox auslösen Lupy 5 189 30.12.2016, 15:24
Letzter Beitrag: schauan
  TextBox / ComboBox aus UserForm entfernen nedial 29 688 28.12.2016, 13:20
Letzter Beitrag: Rabe
  Textbox Inhalt einer Userform in eine bestimmte Zelle schreiben - VBA - Hiiilfe Chris1112 9 272 20.12.2016, 10:21
Letzter Beitrag: Rabe

Gehe zu:


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