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

Forumthread: Wert in der TextBox als Integer formatieren

Wert in der TextBox als Integer formatieren
23.02.2013 12:07:18
chandler
Hallo Forum,
warum lässt sich die Zahl in der TextBox1 nicht als Integer formatieren?
Die Zahl bzw.Wert wird berechnet daher als Dezimalzahl dargestellt.
Hier der Code-Snippsel, beide Formatierungsversuche helfen nicht.
TextBox1.Text = _
.Cells(ComboBox1.ListIndex + 10, 10).Value
UserForm1.TextBox1.Value = (CInt(UserForm1.TextBox1.Value))
Me.TextBox1.Value = Format(CInt(Me.TextBox1.Value), "0")
Bitte um Hilfe, wer weiss Rat? Grüße

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Wert in der TextBox als Integer formatieren
23.02.2013 12:12:48
Hajo_Zi
eine TextBox enthält Text, warum dann nicht Format?

AW: Wert in der TextBox als Integer formatieren
23.02.2013 12:16:28
chandler
Hallo Hajo,
was heißt: "warum dann nicht Format?"
Ich habe versucht mit: Me.TextBox1.Value = Format(CInt(Me.TextBox1.Value), "0")
Vielen Dank.

Anzeige
AW: Wert in der TextBox als Integer formatieren
23.02.2013 12:20:43
Hajo_Zi
ich hätte nur
Format(TextBox1.Value, "0")
geschrieben. Ich habe nicht gesehen wie Du das getestet hast.
Gruß Hajo

AW: Wert in der TextBox als Integer formatieren
23.02.2013 12:28:51
chandler
Hallo Hajo,
es hilf leider so nicht:
TextBox1.Value = Format(TextBox1.Value, "0")
Vielen Dank. Grüße

Anzeige
AW: Wert in der TextBox als Integer formatieren
23.02.2013 12:31:51
Hajo_Zi
in meiner Datei geht es. Deine sehe ich nicht.
Gruß Hajo

AW: Wert in der TextBox als Integer formatieren
23.02.2013 12:32:20
Hajo_Zi
in meiner Datei geht es. Deine sehe ich nicht.
Gruß Hajo

Anzeige
AW: Wert in der TextBox als Integer formatieren
23.02.2013 12:42:40
chandler
Hallo Hajo,
der Wert der eingelesen wird, wird berechnet, daher auch als Decimalwert eingelesen.
Nun hätte ich gerne die TextBox so formatiert, dass der Wert als Integer angezeigt wird.
Vielen Dank.

AW: Wert in der TextBox als Integer formatieren
23.02.2013 13:06:51
Hajo_Zi
wie schon geschrieben sehe ich Deine Datei nicht. Ich schaue nicht über das Internet auf fremde Rechner.
Gruß Hajo

Anzeige
AW: Wert in der TextBox als Integer formatieren
23.02.2013 13:12:01
Hajo_Zi
wie schon geschrieben sehe ich Deine Datei nicht. Ich schaue nicht über das Internet auf fremde Rechner.
Gruß Hajo

AW: Wert in der TextBox als Integer formatieren
23.02.2013 12:44:07
fcs
Hallo Chandler,
Was funktioniert denn nicht? Werden Fehlermeldungen angezeigt?
Wenn aus den Zellen in Spalte 10 Zahlen in die Textbox eingelesen werden, dann funktioniert es, aber nur bis zu Werten von ca. -32000 bis +32000. Für größere Zahlen verwende CLng statt CInt. ggf. kommst du auch mit der Funktion ROUND weiter.
Wenn Texte, die keine Zahlen darstellen, aus den Zellen in die Textbox eingelesen werden dann geht es nicht. Dabei stören auch Leerzeichen, Währungszeichen und evtl. sogar 1000er-Trennzeichen.
Gruß
Franz

Anzeige
AW: Wert in der TextBox als Integer formatieren
23.02.2013 12:51:16
chandler
Hallo Franz,
das einlesen funktioniert ja auch, das sind Zahlen zwischen 10 und 500, aber als Decimalzahlen, da
in der Spalte 10 eine Formeln stehen. In der Texbox soll die Zahl ohne Komma's dargestellt werden.
Vielen Dank. Grüße

Erledigt
23.02.2013 13:30:17
chandler

Private Sub TexBox1_Change()
UserForm1.TexBox1.Value = (CInt(UserForm1.TexBox1.Value))
End Sub

Anzeige
AW: Erledigt
23.02.2013 15:08:39
Hajo_Zi
das ist aber die falsche Aktion für solch ein Ereignis.
Private Sub TextBox1_AfterUpdate()
Gruß Hajo

AW: Erledigt
23.02.2013 23:22:31
chandler
Hallo Hajo,
in der Tat, so noch besser. Problem gelöst.
Vielen Dank. Grüße
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Wert in der TextBox als Integer formatieren


Schritt-für-Schritt-Anleitung

  1. Öffne deinen VBA-Editor in Excel (ALT + F11).
  2. Füge ein neues UserForm hinzu, falls du noch keines hast.
  3. Füge eine TextBox (TextBox1) und eine ComboBox (ComboBox1) hinzu.
  4. Verwende den folgenden VBA-Code, um den Wert der TextBox als Integer zu formatieren:
Private Sub TextBox1_AfterUpdate()
    Me.TextBox1.Value = CInt(Me.TextBox1.Value)
End Sub
  1. Achte darauf, dass der Wert, der in die TextBox eingegeben wird, tatsächlich eine Zahl ist. Andernfalls kann eine Fehlermeldung auftreten.

Häufige Fehler und Lösungen

  • Fehler: Der Wert in der TextBox wird als Dezimalzahl angezeigt.

    • Lösung: Stelle sicher, dass du die CInt-Funktion verwendest, um den Wert in einen Integer zu konvertieren. Beispiel:
      Me.TextBox1.Value = CInt(Me.TextBox1.Value)
  • Fehler: Bei der Eingabe von Werten außerhalb des Integer-Bereichs (> 32.767 oder < -32.768) tritt ein Überlauf auf.

    • Lösung: Verwende CLng anstelle von CInt, um größere Zahlen zu unterstützen.
      Me.TextBox1.Value = CLng(Me.TextBox1.Value)
  • Fehler: Text oder ungültige Zeichen in der TextBox.

    • Lösung: Überprüfe und bereinige die Eingabe, um sicherzustellen, dass nur Zahlen eingegeben werden.

Alternative Methoden

  1. Direktes Formatieren: Du kannst auch die Format-Funktion verwenden, um den Text der TextBox zu formatieren.

    Me.TextBox1.Value = Format(Me.TextBox1.Value, "0")
  2. Runden von Zahlen: Wenn du mit Dezimalzahlen arbeitest, kannst du die ROUND-Funktion nutzen, um auf den nächsten Integer zu runden:

    Me.TextBox1.Value = Round(Me.TextBox1.Value)

Praktische Beispiele

  • Beispiel 1: Eingabe von Zahlen in die TextBox und automatische Umwandlung in Integer.
Private Sub TextBox1_AfterUpdate()
    If IsNumeric(Me.TextBox1.Value) Then
        Me.TextBox1.Value = CInt(Me.TextBox1.Value)
    Else
        MsgBox "Bitte geben Sie eine gültige Zahl ein."
    End If
End Sub
  • Beispiel 2: Verwendung von ComboBox zur Auswahl von Werten, die dann in die TextBox übertragen werden.
Private Sub ComboBox1_Change()
    Me.TextBox1.Value = CInt(Me.ComboBox1.Value)
End Sub

Tipps für Profis

  • Nutze die IsNumeric-Funktion, um sicherzustellen, dass die Eingabe in der TextBox tatsächlich eine Zahl ist, bevor du sie konvertierst.
  • Bei größeren Projekten empfiehlt es sich, Fehlerbehandlungsroutinen einzuführen, um unerwartete Eingaben abzufangen.
  • Verwende Format-Funktionen, um sicherzustellen, dass das Zahlenformat in der TextBox stets konsistent bleibt, insbesondere wenn du mit verschiedenen Zahlentypen arbeitest.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass nur ganze Zahlen eingegeben werden?
Verwende die IsNumeric-Funktion, um Eingaben zu überprüfen, bevor du sie konvertierst.

2. Was ist der Unterschied zwischen CInt und CLng?
CInt konvertiert in einen Integer (maximal 32.767), während CLng in einen Long konvertiert, was größere Werte unterstützt.

3. Wie kann ich die TextBox formatieren, um Dezimalstellen zu vermeiden?
Verwende die Format-Funktion, um den Wert ohne Dezimalstellen anzuzeigen:

Me.TextBox1.Value = Format(Me.TextBox1.Value, "0")

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige