Supportnet / Forum / Tabellenkalkulation
Wert aus Textbox in Tabelle schreiben
Frage
Hallo zusammen
ich habe folgendes Problem:
Ich habe ein Formular erstellt mit einigen Textboxen, deren Inhalt sowohl in Summe im Formular selbst gezeigt wird (TextBox 24) und einzelen in eine Excel Tabelle geschrieben wird. Dies funktioniert auch ganz gut. Nur steht der Wert in der Tabelle im Textformat und lässt sich nicht berechnen.
So sieht das Ganze aus:
So habe ich den Wert z.B. in der TextBox25 formatiert:
Private Sub TextBox25_AfterUpdate()
TextBox25.TextAlign = fmTextAlignRight
TextBox25 = Format(TextBox25, "#,##0.00 €")
TextBox24_Change
End Sub
Und so wird der Wert in die Tabelle "Gebühren" übernommen:
Private Sub CommandButton3_Click()
Set Frm = USRGebührenerfassung
Sheets("Gebühren").Select
Range("B65536").End(xlUp).Offset(1, -1).Select
With Frm
ActiveCell.Offset(0, 19).Value = .TextBox25.Value
ActiveCell.Offset(0, 20).Value = .TextBox24.Value
End With
End Sub
Was mache ich falsch ?
Antwort 1 von Hajo_Zi
Hallo Tonerl,
wie es der Name schon sagt enthält eine Textbox Text. Um es als Zahl in die Tabelle zu schreiben mußt Du eine Umwandlungsfunktion benutzen
=Cdbl(Textbox1)
GRuß Hajo
wie es der Name schon sagt enthält eine Textbox Text. Um es als Zahl in die Tabelle zu schreiben mußt Du eine Umwandlungsfunktion benutzen
=Cdbl(Textbox1)
GRuß Hajo
Antwort 2 von Tonerl
Hallo Hajo,
vielen Dank für die schnelle Antwort, aber ich bin blutiger Anfänger in Sachen VBA und weiß daher nicht
wo ich diese "Umwandlungsfunktion =Cdbl(Textbox1)" einsetzen muss, damit das Ganze auch funktioniert!
Gruß
Tonerl
vielen Dank für die schnelle Antwort, aber ich bin blutiger Anfänger in Sachen VBA und weiß daher nicht
wo ich diese "Umwandlungsfunktion =Cdbl(Textbox1)" einsetzen muss, damit das Ganze auch funktioniert!
Gruß
Tonerl
Antwort 3 von Hajo_Zi
Hallo Tonerl,
dort wo Du die Textbox in die Zelle schreibst
Range("A1")=Cdbl(Textbox1)
Gruß Hajo
dort wo Du die Textbox in die Zelle schreibst
Range("A1")=Cdbl(Textbox1)
Gruß Hajo
Antwort 4 von Tonerl
Hallo Hajo,
vielen Dank für deinen Hinweis , aber ich hab´s immer noch ganz kapiert.
Ich schreibe aus einer UF mit diversen Textboxen und Comboboxen Zahlen und Texte in eine Excel Tabelle, und zwar immer versetzt um eine Spalte weiter nach rechts. und bei einer neuen Eingabe sucht sich das Programnm die nächste freie Zeile und trägt wieder neue Werte pro Spalte ein.
Die Übergabe der Werte funktioniert im Ganzen so:
Private Sub CommandButton3_Click()
Set Frm = USRGebührenerfassung
Sheets("Gebühren").Select
Range("B65536").End(xlUp).Offset(1, -1).Select
With Frm
ActiveCell.Offset(0, 1).Value = .TextBox1.Text
ActiveCell.Offset(0, 2).Value = .TextBox2.Value
ActiveCell.Offset(0, 3).Value = .TextBox3.Value
ActiveCell.Offset(0, 4).Value = .TextBox30.Value
ActiveCell.Offset(0, 5).Value = .ComboBoxKST1.Value
ActiveCell.Offset(0, 6).Value = .ComboBoxKTR1.Value
ActiveCell.Offset(0, 7).Value = .TextBox28.Value * 1
ActiveCell.Offset(0, 8).Value = .ComboBoxKST2.Value
ActiveCell.Offset(0, 9).Value = .ComboBoxKTR2.Value
ActiveCell.Offset(0, 10).Value = .TextBox29.Value * 1
ActiveCell.Offset(0, 11).Value = .ComboBoxKST3.Value
ActiveCell.Offset(0, 12).Value = .ComboBoxKTR3.Value
ActiveCell.Offset(0, 13).Value = .TextBox27.Value * 1
ActiveCell.Offset(0, 14).Value = .ComboBoxKST4.Value
ActiveCell.Offset(0, 15).Value = .ComboBoxKTR4.Value
ActiveCell.Offset(0, 16).Value = .TextBox26.Value * 1
ActiveCell.Offset(0, 17).Value = .ComboBoxKST5.Value
ActiveCell.Offset(0, 18).Value = .ComboBoxKTR5.Value
ActiveCell.Offset(0, 19).Value = .TextBox25.Value * 1
ActiveCell.Offset(0, 20).Value = .TextBox24.Value * 1
ActiveCell.Offset(0, 21).Value = .TextBox5.Value
ActiveCell.Offset(0, 22).Value = .TextBox10.Value
End With
End Sub
Textbox 5 und 18 und 24 bis 29 beinhalten Zahlen, welche in die Exceltabelle laufen, aber wie schon erwähnt mit einem Textformat, das sich nicht berechnen lässt.
Seid doch bitte so gut und gebt mir für obige Zahlen -übergabe eine genaues Beispiel. Ich komme da einfach nicht weiter.
vielen Dank für deinen Hinweis , aber ich hab´s immer noch ganz kapiert.
Ich schreibe aus einer UF mit diversen Textboxen und Comboboxen Zahlen und Texte in eine Excel Tabelle, und zwar immer versetzt um eine Spalte weiter nach rechts. und bei einer neuen Eingabe sucht sich das Programnm die nächste freie Zeile und trägt wieder neue Werte pro Spalte ein.
Die Übergabe der Werte funktioniert im Ganzen so:
Private Sub CommandButton3_Click()
Set Frm = USRGebührenerfassung
Sheets("Gebühren").Select
Range("B65536").End(xlUp).Offset(1, -1).Select
With Frm
ActiveCell.Offset(0, 1).Value = .TextBox1.Text
ActiveCell.Offset(0, 2).Value = .TextBox2.Value
ActiveCell.Offset(0, 3).Value = .TextBox3.Value
ActiveCell.Offset(0, 4).Value = .TextBox30.Value
ActiveCell.Offset(0, 5).Value = .ComboBoxKST1.Value
ActiveCell.Offset(0, 6).Value = .ComboBoxKTR1.Value
ActiveCell.Offset(0, 7).Value = .TextBox28.Value * 1
ActiveCell.Offset(0, 8).Value = .ComboBoxKST2.Value
ActiveCell.Offset(0, 9).Value = .ComboBoxKTR2.Value
ActiveCell.Offset(0, 10).Value = .TextBox29.Value * 1
ActiveCell.Offset(0, 11).Value = .ComboBoxKST3.Value
ActiveCell.Offset(0, 12).Value = .ComboBoxKTR3.Value
ActiveCell.Offset(0, 13).Value = .TextBox27.Value * 1
ActiveCell.Offset(0, 14).Value = .ComboBoxKST4.Value
ActiveCell.Offset(0, 15).Value = .ComboBoxKTR4.Value
ActiveCell.Offset(0, 16).Value = .TextBox26.Value * 1
ActiveCell.Offset(0, 17).Value = .ComboBoxKST5.Value
ActiveCell.Offset(0, 18).Value = .ComboBoxKTR5.Value
ActiveCell.Offset(0, 19).Value = .TextBox25.Value * 1
ActiveCell.Offset(0, 20).Value = .TextBox24.Value * 1
ActiveCell.Offset(0, 21).Value = .TextBox5.Value
ActiveCell.Offset(0, 22).Value = .TextBox10.Value
End With
End Sub
Textbox 5 und 18 und 24 bis 29 beinhalten Zahlen, welche in die Exceltabelle laufen, aber wie schon erwähnt mit einem Textformat, das sich nicht berechnen lässt.
Seid doch bitte so gut und gebt mir für obige Zahlen -übergabe eine genaues Beispiel. Ich komme da einfach nicht weiter.
Antwort 5 von Hajo_Zi
Hallo Tonerl,
überall wo Du Zahlen in die Tabelle schreiben wilst mußt Du
=cdbl(....) schreiben
ich baue die Datei jetzt nicht nach.
Gruß Hajo
überall wo Du Zahlen in die Tabelle schreiben wilst mußt Du
=cdbl(....) schreiben
ich baue die Datei jetzt nicht nach.
Gruß Hajo
Antwort 6 von Tonerl
Hallo Hajo
ich denke, es funktioniert jetzt zum Teil. Wenn ich allerdings in eine Textbox keine Zahl eingebe, d.h. wenn diese Textbox einfach leer bleiben soll und übrsprungen wird, bekomme ich eine Fehlermeldung. "Laufzeitfehler 13" Typen unverträglich.
Lässt sich das nur umgehen, wenn ich überall Werte eingebe z.B: auch "0" , wenn kein Wert eingetragen werden soll. Das wäre sehr umständlich.
Ich habe auch schon probiert die ganze Sache einfach mit *1 zu multiplizieren. Hier habe ich genau den gleichen Effekt. Wenn nicht alle Textboxen gefüllt werden und sei es nur mit "0", dann kommt die Fehlermeldung.
Gruß
Tonerl
ich denke, es funktioniert jetzt zum Teil. Wenn ich allerdings in eine Textbox keine Zahl eingebe, d.h. wenn diese Textbox einfach leer bleiben soll und übrsprungen wird, bekomme ich eine Fehlermeldung. "Laufzeitfehler 13" Typen unverträglich.
Lässt sich das nur umgehen, wenn ich überall Werte eingebe z.B: auch "0" , wenn kein Wert eingetragen werden soll. Das wäre sehr umständlich.
Ich habe auch schon probiert die ganze Sache einfach mit *1 zu multiplizieren. Hier habe ich genau den gleichen Effekt. Wenn nicht alle Textboxen gefüllt werden und sei es nur mit "0", dann kommt die Fehlermeldung.
Gruß
Tonerl
Antwort 7 von Hajo_Zi
Hallo Tonerl,
ich vermute mal die Eingabe prüftst Du das nur Zahlen eingegeben werden können?
if Textbox3<>"" then ActiveCell.Offset(0, 3).Value = cdbl(.TextBox3.Value)
Gruß Hajo
ich vermute mal die Eingabe prüftst Du das nur Zahlen eingegeben werden können?
if Textbox3<>"" then ActiveCell.Offset(0, 3).Value = cdbl(.TextBox3.Value)
Gruß Hajo
Antwort 8 von Tonerl
Hallo Hajo,
supääää !
Es hat funktioniert. Vielen Dank für deine Hilfe und deine Geduld.
Viele Grüße
Tonerl
supääää !
Es hat funktioniert. Vielen Dank für deine Hilfe und deine Geduld.
Viele Grüße
Tonerl
Ich möchte kostenlos eine Frage an die Mitglieder stellen:
Ähnliche Themen:
- Daten aus zwei Tabellen über einen gemeinsamen Wert zusammenfassen
- Textbox nach bestimmten Wert durchsuchen
- Visual Basic 2005 - Formular ausdrucken!
- Eine Grundtabelle soll mehrere Tabellen auswerten und neue Tabellen autom. erkennen und zuordnen
- In der Multiseite gleichen wert von Textbox1 page1 in Textbox2 page anzeigen

