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

Forumthread: Kommazahlen aus Textbox

Kommazahlen aus Textbox
25.07.2002 10:51:04
Markus Klement
Hallo zusammen,

mit folgendem Befehl lese ich Daten Werte aus der Textbox eines Formulares aus

= Val(TextBox1.Value)

aber dabei werden mir keine Kommazahlen ausgelesen. Gebe ich 21,54 in die Textbox ein, liest er nur 21 aus.

Wie kann ich das ändern, dass auch die Nachkommastellen ausgelesen werden?

Danke für Eure Hilfe
Markus

Anzeige

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Kommazahlen aus Textbox
25.07.2002 10:54:45
Ralph P.
Wenn du die Textbox in eine Zelle ausliest, muss die Zelle als Zahl formatiert werden.

Gruß Ralph

Re: Kommazahlen aus Textbox
25.07.2002 11:00:01
Silvio
Eventuell hilft das hier weiter



Nein, das ist es nicht...
25.07.2002 11:11:51
Markus Klement
..denn ich möchte keine Währung sondern eine variable Kommazahl auslesen.

Aber trotzdem Danke

Anzeige
Nein, das ist es nicht...
25.07.2002 11:13:08
Markus Klement
... denn wenn ich die Zellen als Zahl formatiere, ändert es nichts, da nur der Wert ohne Nachkommastelle aus der Textbox übernommen wird, unabhängig von der Formatierung der Empfangszelle.

Aber trotzdem Danke..

Re: Kommazahlen aus Textbox
25.07.2002 11:15:17
BCM
Hi Markus,
es kann auch noch daran liegen, daß der Beistrich gar nicht als Komma eingestellt ist. Probiers mal mit einem Punkt. Val holt sich ja aus dem Textstring nur die Zahl heraus. Und wenn der Beistrich nicht als Komma erkannt wird, wird nur die Zahl davor berücksichtigt.
cu
BCM
Anzeige
Re: Kommazahlen aus Textbox
25.07.2002 11:18:04
Ralph P.
Lies doch den Inhalt der Textbox doch so aus:

variable = TextBox1.Value

Gruß Ralph

Ja, aber
25.07.2002 11:24:40
Markus Klement
Hi BCM,

das funktioniert, wenn ich anstatt des Komma einen Punkt eingebe, aber mit dieser Datei sollen andere Leute arbeiten, die geben natürlich ein Komma ein und keinen Punkt.

Kann ich das nicht irgendwie einstellen, das Excel das Komma als solches auch erkennt?

Danke
Markus

Anzeige
Re: Kommazahlen aus Textbox
25.07.2002 11:37:15
JürgenR
Hi Markus,

versuche es mit CDbl statt Val.

Gruß
Jürgen

Re: Ja, aber
25.07.2002 11:41:45
Otto Ecker
Hallo Markus,

trennzeichen = Application.International(xlDecimalSeparator)

If trennzeichen = "." Then
position = InStr(einlese, ",")
If position > 0 Then
einlese = Left(einlese, (position - 1)) & trennzeichen & Right(einlese, (Len(einlese) - position))
End If
End If

If trennzeichen = "," Then
position = InStr(einlese, ".")
If position > 0 Then
einlese = Left(einlese, (position - 1)) & trennzeichen & Right(einlese, (Len(einlese) - position))
End If
End If

Gruß Otto

Anzeige
Re: Ja, aber
25.07.2002 11:42:09
BCM
Hi Markus,
das ist immer das gleiche Problem. Auf vielen Computern wird so gearbeitet, als ob der Beistrich das Komma sei. In Wahrheit wird die Ländereinstellung nicht korrekt durchgeführt. Dann hast Du aber auch Probleme mit Zahlen in ganz normalen Excelzellen.
Also, wenn die Einstellung mit dem übereinstimmt, was ich eingebe, habe ich auch kein Problem. Der User sollte aber wissen, was auf seinem Computer das Komma ist. Ich gebe ja auch nicht 1 ein und erwarte mir, daß der Computer 5 versteht.
Anders ist es mit importierten Daten.
Umgehen kannst Du das Problem nur schwer. Du müßtest die entsprechende Ländereinstellung auslesen und dann mit einer Abfrage allfällige Punkte in Beistriche verwandeln oder umgekehrt.
Sorry
BCM
Anzeige
JAWOLL - DANKE!!!
25.07.2002 11:43:19
Markus Klement
Vielen Dank Jürgen,

jetzt klappt es so wie es soll.

SUPER!!

DANKE AN ALLE!!!!
25.07.2002 11:45:30
Markus Klement
Hallo,

auch wenn nicht jeder Lösungsversuch erfolgreich war, so danke ich aber doch allen, die sich die Mühe und die Zeit genommen haben mir zu helfen.

VIELeN DANK!!!

Irrtum!!!
25.07.2002 12:57:00
BCM
Hi Markus und Jürgen,
versucht mal, damit zu rechnen!
cu
BCM
Anzeige
ja es klappt....
25.07.2002 13:06:16
Markus Klement
Ich kann auch mit den ausgelesenen Werten rechnen. Klappt alles einwandfrei. Ich mußte nur noch einen Code einbauen, der mir die Zellen mit Nachkommastellen formatiert, damit sie auch angezeigt werden.

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Kommazahlen aus Textbox in Excel richtig auslesen


Schritt-für-Schritt-Anleitung

Um Kommazahlen aus einer Textbox in Excel auszulesen, solltest Du die folgenden Schritte befolgen:

  1. Textbox erstellen: Füge eine Textbox in Dein Excel-Formular ein.
  2. Code hinzufügen: Verwende den folgenden VBA-Code, um den Wert der Textbox auszulesen:

    Dim variable As Double
    variable = CDbl(TextBox1.Value)

    Dieser Code stellt sicher, dass auch Kommazahlen korrekt ausgelesen werden.

  3. Formatierung prüfen: Vergewissere Dich, dass die Empfangszelle als Zahl formatiert ist. Dies ist wichtig, damit Excel die Kommazahlen korrekt interpretiert.

Häufige Fehler und Lösungen

  • Fehler: Excel liest nur die ganze Zahl aus der Textbox.

    • Lösung: Stelle sicher, dass Du CDbl anstelle von Val verwendest. CDbl konvertiert den Text korrekt in eine Zahl, einschließlich der Nachkommastellen.
  • Fehler: Komma wird nicht erkannt.

    • Lösung: Prüfe die regionalen Einstellungen Deines Computers. Der Dezimaltrenner könnte als Punkt statt als Komma konfiguriert sein. Du kannst den Code anpassen, um das Dezimaltrennzeichen dynamisch zu erkennen:
    Dim trennzeichen As String
    trennzeichen = Application.International(xlDecimalSeparator)

Alternative Methoden

Falls Du weiterhin Probleme hast, könntest Du auch folgende alternative Methoden in Betracht ziehen:

  • Zelle direkt auslesen: Anstatt den Wert aus der Textbox auszulesen, kannst Du den Wert direkt in eine Zelle schreiben und dann die Zelle auslesen. Beispiel:

    Range("A1").Value = TextBox1.Value
    Dim variable As Double
    variable = CDbl(Range("A1").Value)
  • Eingaben validieren: Du kannst auch eine Validierung der Eingabe durchführen, um sicherzustellen, dass der Benutzer die Zahl im richtigen Format eingibt.


Praktische Beispiele

Hier sind einige praktische Beispiele, die Dir helfen könnten, Kommazahlen aus einer Textbox auszulesen:

  1. Einfaches Beispiel:

    Dim wert As Double
    wert = CDbl(TextBox1.Value)
    MsgBox "Der eingegebene Wert ist: " & wert
  2. Umwandlung bei falschem Trennzeichen:

    Dim einlese As String
    einlese = TextBox1.Value
    If InStr(einlese, ",") > 0 Then
       einlese = Replace(einlese, ",", ".")
    End If
    Dim variable As Double
    variable = CDbl(einlese)

Tipps für Profis

  • Ländereinstellungen beachten: Jeder Benutzer sollte wissen, welches Dezimaltrennzeichen auf seinem Computer verwendet wird. Dies kann oft zu Verwirrungen führen.

  • Fehlermeldungen einbauen: Implementiere Fehlerbehandlungen, um dem Benutzer Rückmeldungen zu geben, falls die Eingabe ungültig ist.

  • Benutzerfreundlichkeit erhöhen: Überlege, wie Du das Formular so gestalten kannst, dass klar ist, welches Format erwartet wird (z.B. durch Platzhaltertexte in der Textbox).


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass die Benutzer immer das richtige Format verwenden?
Du kannst Platzhaltertexte in der Textbox verwenden oder eine kleine Anleitung neben der Textbox einfügen.

2. Was mache ich, wenn Excel weiterhin nur ganze Zahlen anzeigt?
Überprüfe die Zelle, in die die Zahl geschrieben wird, und stelle sicher, dass sie als Zahl mit Nachkommastellen formatiert ist.

3. Kann ich Kommazahlen auch in einer anderen Programmiersprache einlesen?
Ja, die Logik bleibt ähnlich, jedoch musst Du die Syntax der jeweiligen Sprache verwenden. In VBA ist CDbl der gängige Weg, um Kommazahlen zu konvertieren.

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