Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<
Microsoft Office 2003-2019 => Excel => Thema gestartet von: hziemer am November 21, 2015, 16:13:32 Nachmittag
-
Hallo zusammen
Folgendes Problem nervt mich gewaltig. Vielleicht kann mir jemand aus dem Forum problemlos helfen.
Ich zeige in einer Maske Werte aus einer Tabelle an.
Bei Bedarf werden diese geändert und sollen wieder in die Tabelle geschrieben werden.
Die entsprechenden Spalten sind als Zahl formatiert. 3 Nachkommastellen und 1000er Punkt.
Hiermit fülle ich die Maske:
TextBox1 = Trim(CStr(Tabelle12.Cells(lZeile, 1).Value))
TextBox2 = Format(Tabelle12.Cells(lZeile, 3).Value, "0.000")
TextBox4 = Format(Tabelle12.Cells(lZeile, 2).Value)
TextBox5 = Format(Tabelle12.Cells(lZeile, 4).Value, "0.000")
TextBox6 = Format(Tabelle14.Cells(lZeile, 2).Value)
TextBox7 = Format(Tabelle14.Cells(lZeile, 4).Value, "0.000")
So schreibe ich die geänderten Werte wieder zurück
Tabelle12.Cells(lZeile, 1).Value = Trim(CStr(TextBox1.Text))
Tabelle12.Cells(lZeile, 1).Value = TextBox1
Tabelle12.Cells(lZeile, 3).Value = TextBox2
Tabelle12.Cells(lZeile, 2).Value = TextBox4
Tabelle12.Cells(lZeile, 4).Value = TextBox5
Tabelle14.Cells(lZeile, 2).Value = TextBox6
Tabelle14.Cells(lZeile, 4).Value = TextBox7
Beim schreiben werden diese Werte als Text in die Spalten geschrieben. Linksbündig und ohne Formatierung.
Selbst wenn ich die gesamte Spalte markiere und versuche alle Zellen as Zahl zu definieren bleiben die geänderten Zellen Text.
Hier hilft nur noch die Multiplikation mit 1 (z.B. =b2*1) . Jetzt ist es wieder eine Zahl mit Formatierung.
Da muss es doch eine Lösung für geben. Wer kann mir helfen??
Danke
Schöne Grüße aus dem Schwabenland.
-
Moin,
CStr() hast du ja schon verwendet. Bei den anderen Textboxen musst du je nach Datentyp beispielsweise CIt, CDbl, CCur, ... verwenden. Schau einfach mal hier (https://msdn.microsoft.com/en-us/library/fctcwhw9%28v=vs.84%29.aspx) nach.
-
Hallo Günther
Danke für die Antwort.
Ich arbeite jetzt mit DOUBLE. Das funktionert sehr gut.
--> Tabelle12.Cells(lZeile, 3).Value = CDbl(TextBox2.Value)
Jetzt werden alle Werte richtig in die Tabelle geschrieben.
Vielen Dank für Deine Hilfe
hziemer