Anzeige
Archiv - Navigation
1100to1104
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Format

Format
André
Hallo zusammen,
wie kann ich ein Textfeld in einem Formular Formatieren mit € und nur 2 Dezimalstellen?
Gruß André

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
TextBox1 = Format(TextBox1, "#,##0.00 €") oT
09.09.2009 15:58:43
Matthias
AW: TextBox1 = Format(TextBox1, "#,##0.00 €") oT
09.09.2009 16:00:15
André
Danke, und wo schreibe ich das rein?
Gruß André
das kommt drauf an wann Du es brauchst
09.09.2009 16:07:14
Matthias
Hallo
beispielsweise beim Verlassen der Textbox:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1 = Format(TextBox1, "#,##0.00 €")
End Sub
Du kannst den Code auch einem Button zuweisen der auf dem Formular liegt. z.B. so
Private Sub CommandButton1_Click()
TextBox1 = Format(TextBox1, "#,##0.00 €")
End Sub
Es kommt also drauf an wann Du formatieren willst
Gruß Matthias
AW: das kommt drauf an wann Du es brauchst
09.09.2009 16:11:24
André
vielen Dank, funktioniert super.
Gruß André
Anzeige
aber aufgepasst ...
09.09.2009 16:19:59
Matthias
Hallo
... wenn Du ein Datum in die Textbox schreibst wandelt der Code das Datum um
besser also diese Abfrage
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(TextBox1.Text) Then TextBox1 = Format(TextBox1, "#,##0.00 €")
End Sub
Bei Text wird die Formatierung ignoriert, aber ein Datum ist auch eine Zahl !
Gruß Matthias
AW: aber aufgepasst ...
09.09.2009 16:27:00
André
Danke Matthias, aber Datum wird nicht geschrieben, noch eine kleine Frage wo ist die Funktion bei Excel2007 um Objekte im Formular mit der Tastatur präzise zu verschieben .
Anzeige
keine Ahnung was Du meinst ...
09.09.2009 17:06:32
Matthias
Hallo
Du kannst doch in den Eigenschaften des Objektes die genauen Positionen festlegen
.Top
.Left
.Width
.Height
Gruß Matthias
AW: Format
09.09.2009 16:02:54
JogyB
Hi.
Versuch es mal so:

' Erzeugt die Anzeige mit €
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
' Wenn nicht numerisch, dann gehts nicht weiter
If Not IsNumeric(TextBox1.Value) And TextBox1.Value  "" Then
Cancel = True
ElseIf TextBox1.Value  "" Then
Application.EnableEvents = False
TextBox1.Value = Format(TextBox1.Value, "#0.00") & " €"
Application.EnableEvents = False
End If
End Sub
' Verhindert die Doppeleingabe von Kommas
Private Sub TextBox1_Change()
Static lastValue As String
Dim cursPos As Long
If InStr(TextBox1.Value, ",")  InStrRev(TextBox1.Value, ",") Then
' bei zweitem Komma wird die alte Eingabe wiederhergestellt
' die Cursor-Position wird bei Eingabe von Einzelzeichen ebenfalls
' korrekt wiederhergestellt, bei Copy&Paste von mehreren Zeichen nicht
cursPos = TextBox1.SelStart
TextBox1.Value = lastValue
TextBox1.SelStart = Application.Max(cursPos - 1, 0)
Else
lastValue = TextBox1.Value
End If
End Sub
' Löscht das €-Zeichen bei der Eingabe
Private Sub TextBox1_Enter()
' Wenn was drinsteht, dann ist auch das Eurozeichen drin
If TextBox1.Value  "" Then
Application.EnableEvents = False
TextBox1.Value = Left(TextBox1.Value, Len(TextBox1.Value) - 2)
Application.EnableEvents = True
End If
End Sub
' Läßt nur Zahlen und das Komma als Eingabe zu
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If (KeyAscii  57) And KeyAscii  44 Then
KeyAscii = 0
End If
End Sub

Den Namen der Textbox mußt Du ggf. anpassen.
Gruss, Jogy
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige