Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Von Userform richtig eintragen lassen

Forumthread: Von Userform richtig eintragen lassen

Von Userform richtig eintragen lassen
13.01.2025 16:00:57
chris58
Hallo !
Ich habe hier Hilfe erhalten und habe die Datei nochmals hier eingestellt, da ich keine Lösung für ein weiteres Problem, obwohl lange herumgedoktort, habe.
Es ist folgendes:
Wenn ich die UF aufrufe dan kommt an der ersten Stelle die Eingabe "Anlaufstrom eintragen". Wenn ich nun z.B. einen Anlaufstrom mit 1,356 eintrage, dann stellt mir die Testbox1 die Zahl in B6 ......... jedoch steht dan dort...........1 356,000 und nicht wie die Eingabe lautete. Eigentlich sollte die Zahl korrekt oder auf/ oder abgerundet eingetragen werden.
Was kann ich dagegen machen ?
Bitte um Hilfe
Danke
chris58

Hier der vorhergehende Beitrag:
https://www.herber.de/forum/messages/2001558.html
und hier die Datei:
https://www.herber.de/bbs/user/174848.xls
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Von Userform richtig eintragen lassen
13.01.2025 16:23:02
peter
Hallo



Private Sub CommandButton3_Click()
With Sheets("Berechnung") 'Hier musst du deinen Tabellennamen eingeben
Range("B6").Value = CDbl(TextBox1.Value) ' Du musst den Text in eine Zahl umwandeln. VBA erkennt das Komma als Tausender Trennzeichen
.Range("C6") = .Range("C6") + .Range("B6")
.Range("B6").Select
End With
End Sub



Peter
Anzeige
AW: Von Userform richtig eintragen lassen
13.01.2025 16:46:16
daniel
Hi
in Textboxen steht immer Text.
Wenn du einen Text direkt in eine Zelle schreibst (Cells(...).Value = Textbox1.Text), wird Excel trotzdem prüfen, ob dieser Text eine Zahl, ein Datum oder eine Formel sein könnte und wenn es eine solche erkennt, wird es die Umwandlung durchführen.
das Problem an der Sache ist, dass Excel und VBA hier amerikanisch miteinander reden, dh dein Komma wird nicht das Dezimalzeichen, sondern als Tausendertrennpunkt gewertet.

die Lösungsmöglichkeiten wären:
a) du akzeptierst dass und schreibst die Zahl im amerikanischen format: Cells(...).Value = Textbox1.Text mit 1.356
b) tu ärgerst deinen Anwender nicht mit solchen Kinkerlitzchen und tauschst das Komma gegen den Punkt: Cells(...).Value = Repalce(Textbox1.Text, ",", ".") das hätte auch den Vorteil, dass der Anwender beide Varianten eintragen kann und es immer funktioniert, auch in einem amerikanischen Excel
c) du wandelst den Text vorher schon in eine Zahl, das übliche CDbl orientiert sich an der aktuellen Ländereinstellung: Cells(...).Value = CDbl(textbox1.text)
hier ist der Nachteil, dass dir der Code einen Fehler quittiert, wenn sich der Text nicht in eine Zahl wandeln lässt (Fahlscheingabe), was dann Absicherungen oder Vorabprüfungen erfordert.
d) tu teilst Excel mit, dass der Wert, der jetzt kommt, in Deutsch ist: Cells(...).FormulaLocal = Textbox1.Text

Gruß Daniel
Anzeige
AW: Von Userform richtig eintragen lassen
13.01.2025 17:55:27
chris58
Hallo an Alle Helfer !
Ich habe alles gelesen und habe den Code von Peter anstatt dem vorhandenen Code genommen.
Danke, das geht einwandfrei - außer......es entstehen noch Komplikationen. Aber sonst ..............SUPER
Danke nochmal an ALLE die mir Ihre Zeit geopfert haben.
lg chris58
Anzeige
AW: Von Userform richtig eintragen lassen
13.01.2025 16:26:13
GerdL
Hallo Chris,

vielleicht solltest du vor den ersten "Range("B6")" noch den Verweispunkt zum Sheet Berechnung setzten.

Gruß Gerd
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18