Zahlenformat in Variablen/Textfeldern
25.04.2008 20:07:34
Gussfuss
ich hoffe, Ihr könnt mir helfen - allein krieg ich´s mit dem Zahlenformat nicht richtig hin.
ich hab ein Userform gebastelt, wo zum einem eine Combobox vorhanden ist, mit der man zwischen verschiedenen Blumensorten wählen kann, dann gibt es ein Textfeld für Anzahl, Preis und Rechnungsbetrag. Der Preis ist abhängig von der gewählten Blumensorte (s.u.), leider hab ich es da schon nicht hinbekommen, diese als Konstanten so zu definieren, dass in dem Textfeld "Preis" .z.B. 2,50
ausgewiesen werden, unten mein (auskommentierter) kläglicher Versuch---> die letze "0" wird dann abgeschnitten...
Vor allem beim Rechnungsbetrag (Anzahl * Preis + evtl. MWST) krieg ich das Format nicht hin(Betrag soll auf 2 Stellen gerundet + EUR zeichen...)
danach wird das ganze ausgelesen, hier ein kleiner Ausschnitt...
'If ActiveDocument.Bookmarks.Exists("Betrag") Then
' With Selection
' .GoTo what:=wdGoToBookmark, Name:="Betrag"
' .TypeText currechnungsbetrag
'End With
anbei der Code für die Combobox und den Commandbutton "Berechnen"
Ich hoffe, ich kann auf Euch zählen :-) Anregungen und Verbesserungsvorschläge bezgl. der wahrscheinlich umständlichen Programmierweise sind sehr willkommen....
Danke im Voraus!
Gussfuss
Private Sub cboProdukt_Change()
Dim CintNelken As Currency
Dim CintRosen As Currency
Dim CintGerbera As Currency
Dim CintTulpen As Currency
Dim CintSonnenblumen As Currency
Dim CandereBlume As Currency
Dim intblumenart As String
With Me
intblumenart = cboProdukt
'CintNelken = Format$(2#, "#,###.00 EUR")
'CintRosen = Format$(3#, "#,###.00")
'CintGerbera = Format$(2,50, "#,###.00")
'CintTulpen = Format$(1,50, "#,###.00")
'CintSonnenblumen = Format$(5#, "#,###.00")
'CandereBlume = Format$(0#, "#,###.00")
If intblumenart = "Nelken" Then
'.txtEinzelbetrag.Text = CintNelken & " "
.txtEinzelbetrag.Text = "2,00" & " " & ""
ElseIf intblumenart = "Rosen" Then
'.txtEinzelbetrag.Text = CintRosen & " "
.txtEinzelbetrag.Text = "3,00" & " " & ""
ElseIf intblumenart = "Gerbera" Then
'.txtEinzelbetrag.Text = CintGerbera & " "
.txtEinzelbetrag.Text = "2,50" & " " & ""
ElseIf intblumenart = "Tulpen" Then
'.txtEinzelbetrag.Text = CintTulpen & " "
.txtEinzelbetrag.Text = "1,50" & " " & ""
ElseIf intblumenart = "Sonnenblumen" Then
'.txtEinzelbetrag.Text = CintSonnenblumen & " "
.txtEinzelbetrag.Text = "5,00" & " " & ""
Else
'.txtEinzelbetrag.Text = CandereBlume & " "
.txtEinzelbetrag.Text = "0,00" & " " & ""
End If
End With
End Sub
Private Sub cmdberechnen_Click()
Dim intAnzahl As Integer
Dim inteinzelbetrag As Currency
Dim intSumme As Currency
Dim intEndbetrag As Currency
With Me
On Error GoTo Fehler:
intAnzahl = .txtAnzahl.Value
inteinzelbetrag = txtEinzelbetrag.Value
intSumme = intAnzahl * inteinzelbetrag
End With
If Me.optMwST7.Value = True Then
intEndbetrag = intSumme * 107 / 100
ElseIf Me.optMwST16.Value = True Then
intEndbetrag = intSumme * 116 / 100
Else
intEndbetrag = intSumme
End If
Me.txtRechnungsbetrag = CCur(intEndbetrag) & " " & ""
Exit Sub
Fehler: 'Abfangroutine
On Error Resume Next
MsgBox "Bitte nur numerische Werte eingeben!", vbCritical, "Abbruch"
End Sub
....
danach sollen die Daten in ein Word.doc ausgeliefert, klappt alles ...bis auf das Format des Rechnungsbetrages...