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

TextBox.Value als Kommazahl

Forumthread: TextBox.Value als Kommazahl

TextBox.Value als Kommazahl
05.05.2006 10:54:01
Patrick
hallo
ich würd gern eine zahl aus einer textbox auch als zahl abspeichern - das problem: sie hat eine kommastelle (also kein integer)
als eingabe sind nur noch die zahlen 0-9 und "," zulässig - aber sobald die werte in der zelle vom excel sind erkennt excel diese nur als text
Cell(1, 2) = CDbl(TextBox1.Value) hilft nicht - Datentyp unzulässig
was kann ich also machen? bitte um hilfe
mfg patrick
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Cell(1, 2) = TextBox1.Text * 1 o.w.t.
05.05.2006 10:59:34
Peter
MfG Peter
Typen unverträglich
05.05.2006 11:13:53
Patrick
ähm - er fügt mir alles in die zellen ein, ABER: ich bekomme trotzdem eine fehlermeldung: Typen unverträglich
Cells(20, 7) = TextBox1.Text * 1
Cells(22, 14) = TextBox2.Text * 1
Cells(20, 14) = TextBox3.Text * 1
Cells(22, 7) = TextBox4.Text * 1
Cells(24, 7) = TextBox5.Text * 1
Unload Me
h_Messdauer.Show
das programm sollte doch simpel genug sein, oder?
Anzeige
AW: Typen unverträglich
05.05.2006 11:22:31
Harald
Hi,
Kommazahlen sind Double
cells(20,7)=cdbl(textbox1.value)
Gruss Harald
AW: Typen unverträglich
05.05.2006 11:27:16
Patrick
ja, nur dann kommt die fehlermeldung wie bereits erwähnt!
AW: Typen unverträglich
05.05.2006 11:38:48
Peter
Servus,
es kann nur dann Typen unverträglich kommen wenn du keine Zahl sondern Text eingibst.
Da es sich um eine Textbox handelt gibst du ohne die Addition bzw. ohne das ändern in den Datentyp Double selbst bei Zahlen Text ein.
Wenn du aber den Datentyp änderst darf kein Text eingegeben werden.
MfG Peter
Anzeige
Anmerkung: eine Leere Textbox ist auch ein String
05.05.2006 11:39:51
Peter
MfG Peter
OT: Hoffe, du hast schön gefeiert...
09.05.2006 21:44:05
{Boris}
Hi Peter,
...wie ich :-)) - Nr. 20 ist in Sack und Tüten! Und der Mehmet hat auch noch ne Saison drangehängt! Wofür brauchen wir einen Lincoln?
Grüße Boris
abfangen mit
05.05.2006 11:42:26
Harald
If IsNumeric(TextBox1.Value) Then
Cells(1, 1) = CDbl(TextBox1.Value)
'usw
End If
Wie Peter sagte, die Meldung kommt wenn du Text eingibst
Gruss Harald
Anzeige
AW: Typen unverträglich
05.05.2006 11:44:15
Franz
Hallo Patrick,
bei mir funktionieren folgende Varianten unter Win XP, Excel 2003.
Unter Region habe ich Deutschland eingestellt, Dezimaltrennzeichen ist das Komma.

Private Sub CommandButton1_Click()
'Erstellt unter EXCEL 2003
Cells(20, 7) = TextBox1.Value * 1
Cells(19, 7) = Val(Replace(TextBox1.Value, ",", ".", 1))
Cells(18, 7) = CDbl(TextBox1.Value)
Me.Hide
End Sub

Gruß
Franz
Anzeige
AW: Typen unverträglich
05.05.2006 12:15:10
Patrick
hallo
folgendes funktioniert, nur ersetzt er dann felder, in denen ncihts steht durch "0"
Cells(19, 7) = Val(Replace(TextBox1.Value, ",", ".", 1))
wie könnte ich dies beheben?
sorry für die vielen fragen
mfg patrick
AW: Typen unverträglich
05.05.2006 14:44:06
Franz
Hallo Patrick,
durch eine kleine if-Abfrage

If TextBox1.Value = "" Then
Cells(19, 7).ClearContents
Else
Cells(19, 7) = Val(Replace(TextBox1.Value, ",", ".", 1))
End If

mfg
Franz
Anzeige
;
Anzeige

Infobox / Tutorial

TextBox.Value als Kommazahl in Excel VBA verwenden


Schritt-für-Schritt-Anleitung

  1. TextBox erstellen: Füge eine TextBox zu deinem UserForm hinzu, z.B. TextBox1.

  2. Button hinzufügen: Füge einen CommandButton hinzu, um die Eingabe zu verarbeiten.

  3. VBA-Code eingeben: Öffne den VBA-Editor und füge den folgenden Code in das Click-Ereignis des Buttons ein:

    Private Sub CommandButton1_Click()
       If IsNumeric(TextBox1.Value) Then
           Cells(1, 1) = CDbl(TextBox1.Value)
       Else
           MsgBox "Bitte eine gültige Zahl eingeben."
       End If
    End Sub
  4. Zahlenformat überprüfen: Stelle sicher, dass das Dezimaltrennzeichen in deinen Regionseinstellungen auf Komma gesetzt ist, wenn du mit Kommazahlen arbeitest.


Häufige Fehler und Lösungen

  • Fehlermeldung: Typen unverträglich: Diese Meldung tritt auf, wenn du Text eingibst, anstatt eine Zahl. Achte darauf, dass nur Zahlen und das Komma eingegeben werden.

  • Zellen werden mit 0 überschrieben: Wenn die TextBox leer ist, wird 0 eingefügt. Verwende eine If-Abfrage, um dies zu vermeiden:

    If TextBox1.Value = "" Then
       Cells(1, 1).ClearContents
    Else
       Cells(1, 1) = CDbl(TextBox1.Value)
    End If

Alternative Methoden

  • Val und Replace nutzen: Du kannst auch die Val-Funktion zusammen mit Replace verwenden, um Kommas in Punkte zu ändern:

    Cells(1, 1) = Val(Replace(TextBox1.Value, ",", "."))
  • Direkte Multiplikation: Eine weitere Möglichkeit ist, die Eingabe mit * 1 zu multiplizieren:

    Cells(1, 1) = TextBox1.Value * 1

Praktische Beispiele

  • Beispiel 1: Um eine Zahl als Kommazahl zu speichern, verwende:

    Cells(20, 7) = CDbl(TextBox1.Value)
  • Beispiel 2: Um sicherzustellen, dass nur korrekte Eingaben verarbeitet werden:

    If IsNumeric(TextBox1.Value) Then
       Cells(19, 7) = Val(Replace(TextBox1.Value, ",", ".", 1))
    End If

Tipps für Profis

  • Datentypen verstehen: Verwende Double für Kommazahlen, da Integer nur ganze Zahlen unterstützt. Beachte, dass TextBox.Value standardmäßig als Text interpretiert wird.

  • Benutzerfreundliche Fehlermeldungen: Informiere den Benutzer mit einer MessageBox, wenn die Eingabe nicht gültig ist.

  • Testen von Eingaben: Implementiere Validierungschecks, um sicherzustellen, dass nur Zahlen in die TextBox eingegeben werden.


FAQ: Häufige Fragen

1. Was ist eine 2 als Kommazahl?
Eine 2 als Kommazahl ist einfach die Zahl 2.0, die in Excel als Dezimalzahl erkannt wird.

2. Wie kann ich sicherstellen, dass die Eingabe in der TextBox eine Kommazahl ist?
Verwende die IsNumeric-Funktion, um zu überprüfen, ob die Eingabe eine Zahl ist, und informiere den Benutzer bei ungültigen Eingaben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige