Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

UF Textbox in das richtige Format setzen | Herbers Excel-Forum


Betrifft: UF Textbox in das richtige Format setzen von: Heinz H
Geschrieben am: 05.01.2010 19:50:26

Hallo Leute

Ich teste jetzt schon ca.3 Stunden um UF Textboxen in das richtige Format zu setzen.

Ich möchte das man nur dasFormat zB. "08,50" oder "12,50" eingeben kann.

Könnte mir bitte jemand helfen ?

Gruß
Heinz

Private Sub txtMoAZvon_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  If IsNumeric(txtMoAZvon) Then
    txtMoAZvon = Format(txtMoAZvon, "##,#0.00")
    Else
    MsgBox "Eingabe NICHT GÜLTIG", vbInformation + vbOKOnly
        
  End If
End Sub

  

Betrifft: AW: Die Forumssuche hätte Dir geholfen von: JOWE
Geschrieben am: 05.01.2010 20:42:57

Hallo Heinz,



Siehe: https://www.herber.de/forum/archiv/144to148/t145539.htm#145547~




Gruß, Jochen


  

Betrifft: AW: UF Textbox in das richtige Format setzen von: hary
Geschrieben am: 05.01.2010 20:55:08

Hallo Heinz
so?

If IsNumeric(TextBox1) And Mid(TextBox1, 3, 1) = "," And Len(TextBox1) = 5 Then

oder wie Jowe schrieb schon beim eintragen pruefen lassen.
gruss hary


  

Betrifft: AW: Danke an Jowe - Hary und Franz von: Heinz H
Geschrieben am: 06.01.2010 08:04:06

Guten morgen

Ich möchte mich recht herzlich bedanken.

Was würde ich ohne Euch machen.

Danke & Gruß

Heinz


  

Betrifft: AW: UF Textbox in das richtige Format setzen von: fcs
Geschrieben am: 05.01.2010 21:16:13

Hallo Heinz,

auch hier solltest du für die Prüfung der Eingabe ein Funktion verwenden, da du ja zahlreiche gleichartige Eingabe-Textboxen hast. So kannst du die Eingabe in alle Richtungen prüfen und formatieren.
Die anderen vorgeschlagenen Lösungen haben den kleinen, aber nicht vernachlässigbaren, Nachteil, dass führende und Nachkomma-Nullen immer mühselig mit eingetippt werden müssen.

Gruß
Franz

Private Sub txtMoAZvon_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  'Eingabewert prüfen
  Cancel = FehlerZeitDezimal(sTextboxname:="txtMoAZvon", LeerZulaessig:=True)
End Sub

Function FehlerZeitDezimal(sTextboxname As String, _
  Optional sFormat As String = "00.00", _
  Optional LeerZulaessig As Boolean = True, _
  Optional MinWert As Double = 0, Optional MaxWert As Double = 23.99) As Boolean
  'sTextboxname = Name des Textbox-Steuerelements
  'sFormat = Zahlenformat in das die eingegebene Zahl umgewandelt werden soll
  'LeerZulaessig: Für Musseingabe auf False setzen
  'Minwert und Maxwert: unterer und oberer Wert des zulässigen Wertebereichs
  'Funktion gibt False zurück, wenn Eingabewert die Bedingungen nicht erfüllt.
  Dim oControl As Control, strValue As String
  Const msgTitel$ = "Prüfung Zeiteingabe - Dezimal"
  Const msgButtons& = vbInformation + vbOKOnly
  
  Set oControl = Me.Controls(sTextboxname)
  strValue = oControl.Object.Value
  If IsNumeric(strValue) Then
    If CDbl(strValue) >= MinWert And CDbl(strValue) <= MaxWert Then
      oControl.Object.Value = Format(CDbl(strValue), sFormat)
      FehlerZeitDezimal = False
    Else
      MsgBox "Nur Werte zwischen " & MinWert & " und " & MaxWert & " sind zulässig!", _
          msgButtons, msgTitel
      oControl.Object.Value = ""
      FehlerZeitDezimal = True
    End If
  Else
    If strValue = "" And LeerZulaessig = True Then
        FehlerZeitDezimal = False
    Else
      MsgBox "Eingabe NICHT GÜLTIG, Zahl erforderlich", msgButtons, msgTitel
      oControl.Object.Value = ""
      FehlerZeitDezimal = True
    End If
  End If
End Function



Beiträge aus den Excel-Beispielen zum Thema "UF Textbox in das richtige Format setzen"