Werte aus Textboxen im Format "Zahl" in Tabelle speichern

  • Excel

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von DJ4711.

    Werte aus Textboxen im Format "Zahl" in Tabelle speichern

    Hallo liebe Forum-Mitglieder,

    ich bin totaler Anfänger in Sachen VBA.

    Ich habe mir eine Userform mit 8 TextBoxen erstellt.
    in Textbox1 gebe ich ein Datum ein
    in Textbox2 - 6 gebe ich ganze Zahlen ein.

    Das ablegen der Werte mit meinem Code klappt soweit,
    doch in der Ziehtabelle werden die Werte für Textbox2 - 6 als Text abgelegt.
    Die Zellen in der Zieltabelle habe ich zuvor als Zahl ohne Kommastellen formatiert.

    Wie muss der Code aussehen, damit in der Zieltabelle die Zellen auch Zahl weiterhin formatiert bleiben?

    Ich habe im Netz schon nach einigen Lösungen geschaut und ausprobiert, aber keine hat bisher funktioniert.

    Mein jetziger Code lautet:

    Visual Basic-Quellcode

    1. Private Sub CommandButton1_Click()
    2. 'Daten in Tabelle schreiben
    3. 'diese Variante habe ich im Netz gefunden...geht aber auch nicht
    4. TextBox2 = Format(CDbl(TextBox2), "#,###")
    5. TextBox3 = Format(CDbl(TextBox3), "#,###")
    6. TextBox4 = Format(CDbl(TextBox4), "#,###")
    7. TextBox5 = Format(CDbl(TextBox5), "#,###")
    8. TextBox6 = Format(CDbl(TextBox6), "#,###")
    9. TextBox7 = Format(CDbl(TextBox7), "#,###")
    10. TextBox8 = Format(CDbl(TextBox8), "#,###")
    11. Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 8) = Array(TextBox1, TextBox2, TextBox3, TextBox4, TextBox5, TextBox6, TextBox7, TextBox8)
    12. MsgBox "Daten gespeichert.", vbInformation, Tag
    13. End Sub


    Ich hoffe ihr könnt mir helfen?

    Gruß
    Neo :)

    Code-Tags eingefügt ~EaranMaleasi

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „EaranMaleasi“ ()

    Willkommen im Forum ^^

    Das Forum verfügt über Syntax-Highlighting, was Code schneller lesbar macht.
    Sieh dir bitte diesen Thread hier in Ruhe an, und füge zukünftig selbst die richtigen Code-Tags ein.
    [Forum] Welche BBCodes (Tags) gibt es hier im Forum zum Einfärben von Quellcodes (Syntax-Highlighting)?
    Der Formatierungsservice geht dieses mal noch aufs Haus ;)
    Das Zuweisen eines Textes zu einer Zelle formatiert die Zelle nicht um.
    Da musst du dann schon dem Excel auch sagen, dass es Zahlen schreiben soll.

    Visual Basic-Quellcode

    1. Source = Array(CDbl(TextBox1.Text),CDbl(TextBox2.Text),CDbl(TextBox3.Text),CDbl(TextBox4.Text),CDbl(TextBox5Text),CDbl(TextBox6.Text),CDbl(TextBox7.Text),CDbl(TextBox8.Text))
    2. Set Destination = Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, UBound(Source)-1)
    3. Destination.Value = Source
    4. Destination.NumberFormat = "#.###" 'falls nicht Standard

    Ist nicht getestet, aber der Ansatz müsste passen. Notfalls musst du selbst korrigieren.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Hallo petaod,

    danke für deine Hilfe.

    Das Destination-Format musste ich so ändern: "##"
    müsste für die Textbox1 (Eingabe Datum) (Cdate(TextBox1.Text) nicht benutzt werden?

    Für Textbox1 in der ich ein Datum eingebe wird das Datum in der Tabelle1 so angezeigt: 22082020
    Werte werden mit dem Code nun in der Tabelle als Zahl geschrieben....aber nicht alle TextBoxen werden in die Tabelle
    übertragen......Textbox5,6 und 7 nicht?


    Hallo petaod

    fehlt in deinem Code noch etwas?

    versuche schon so einiges.....aber nichts zu machen :)

    Gruß
    Neo

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „DJ4711“ ()