Anzeige
Archiv - Navigation
1244to1248
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
TextBox und Kommazahlen
Paul
Hallo Forum,
ab und zu habe ich hier schon einmal reingeschaut und mir wertvolle Tipps geholt. Nun komme ich nicht weiter (bin Laie und arbeite nach dem Try/Error-Prinzip ;-)) und benötige Hilfe.
Der VBA-Code (nicht lachen):

Private Sub CommandButton1_Click()
Sheets("Tanken").Select
z = Range("A1").End(xlDown).Row + 1
If z > 65000 Then z = 1
Cells(z, 1) = ComboBox1            'Kennzeichen
Cells(z, 2) = TextBox1             'Datum
Cells(z, 3) = ComboBox2            'Tankstelle
Cells(z, 5) = Replace(TextBox2, " ", "0.00") ' ltr Kraftstoff
Cells(z, 6) = Replace(TextBox3, " ", "0.00") 'preis kraftstoff
Cells(z, 7) = Replace(TextBox4, " ", "0.00")    'ltr Motoröl
Cells(z, 8) = Replace(TextBox5, " ", "0.00")       'preis motoröl
Cells(z, 9) = TextBox6                     'sonstiges
Cells(z, 10) = Replace(TextBox7, " ", "0.00")    'preis sonstiges
Cells(z, 11) = TextBox8           'Bemerkungen
Range("l2:l37").Select   'Anzahl Liter Kraftstoff
Selection.NumberFormat = "#,##0.00"
Range("m2:m37").Select   'Preis Kraftstoff
Selection.NumberFormat = "#,##0.00 $"
Range("n2:n37").Select   'Anzahl Liter Motoröl
Selection.NumberFormat = "#,##0.00"
Range("o2:o37").Select   'Preis Motoröl
Selection.NumberFormat = "#,##0.00 $"
Range("p2:p37").Select   'sonstiges
Selection.NumberFormat = "#,##0.00 $"
Range("e38:e9999").Select
Selection.NumberFormat = "#,##0.00"
Range("f38:f9999").Select
Selection.NumberFormat = "#,##0.00 $"
Range("g38:g9999").Select
Selection.NumberFormat = "#,##0.00"
Range("h38:h9999").Select
Selection.NumberFormat = "#,##0.00 $"
Range("i38:i9999").Select
Selection.NumberFormat = "@"
Range("j38:j9999").Select
Selection.NumberFormat = "#,##0.00 $"
Range("A38:K9999").Select
With Selection.Font
.Name = "Arial"
.FontStyle = "Standard"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Sheets("Start").Select
End Sub
Ich gebe Daten (Zahlen) über eine Userform in die entsprechenden Textboxen ein.
Handelt es sich um ganze Zahlen, werden die als Zahlen in das Tabellenblatt übergeben.
Gebe ich Zahlen mit Komma ein (Bsp.: 26,23) werden diese als Text übergeben.
Ich benötige aber Zahlen, da ich noch damit weiter arbeiten muss.
Vielen Dank im Voraus und einen guten Rutsch!

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: TextBox und Kommazahlen
31.12.2011 18:12:50
Gerd
Hallo Paul,
versuche es mal so:
Cells(z, 5) = CCur(TextBox2.Value) ' ltr Kraftstoff
Gruß u. guten Rutsch!
Gerd
AW: TextBox und Kommazahlen
31.12.2011 18:20:35
Paul
Vielen lieben Dank Gerd!
Warum? Funktioniert ;-)
Sieht einfach aus, warum habe ich das bloß nicht gefunden?
Egal!
AW: TextBox und Kommazahlen
31.12.2011 18:26:32
fcs
Hallo Paul,
die Eingaben von Zahlen oder Datum in Textboxen müssen vor dem Eintragen in eine Zelle mit den entsprechenden Funktionen in ein Datum bzw. eine Zahl umgewandelt werden. Da die Umwandlungsfunktionen "allergisch" auf nicht konvertierbare Texte reagieren muss vorher der Typ des Textes überprüft werden.
Grundsätzlich kann man in VBA-Anweisungen eine Zeilenfolge wie
Range("A3:A100").Select
Selection.Numberformat = "#,##0.00"
zusammenziehen zu
Range("A3:A100").Numberformat = "#,##0.00"
So ist der Code schneller und Bildschirmflackern wird minimiert.
Gruß
Franz
Private Sub CommandButton1_Click()
Sheets("Tanken").Select
Z = Range("A1").End(xlDown).Row + 1
If Z > 65000 Then Z = 1
Cells(Z, 1) = ComboBox1            'Kennzeichen
With Textbox1
If .Value = "" Then
'do nothing
ElseIf IsDate(Textbox1) Then
Cells(Z, 2) = CDate(.Text)             'Datum
Else
Cells(Z, 2) = .Text
End If
End With
Cells(Z, 3) = ComboBox2            'Tankstelle
With Textbox2
If .Value = "" Then
'do nothing
ElseIf IsNumeric(.Text) Then
Cells(Z, 5) = CDbl(.Text)             ' ltr Kraftstoff
Else
Cells(Z, 5) = .Text
End If
End With
With Textbox3
If .Value = "" Then
'do nothing
ElseIf IsNumeric(.Text) Then
Cells(Z, 6) = CDbl(.Text)             ' preis kraftstoff
Else
Cells(Z, 6) = .Text
End If
End With
With Textbox4
If .Value = "" Then
'do nothing
ElseIf IsNumeric(.Text) Then
Cells(Z, 7) = CDbl(.Text)             'ltr Motoröl
Else
Cells(Z, 7) = .Text
End If
End With
With Textbox5
If .Value = "" Then
'do nothing
ElseIf IsNumeric(.Text) Then
Cells(Z, 8) = CDbl(.Text)             'Preis Motoröl
Else
Cells(Z, 8) = .Text
End If
End With
Cells(Z, 9) = TextBox6                     'sonstiges
With Textbox8
If .Value = "" Then
'do nothing
ElseIf IsNumeric(.Text) Then
Cells(Z, 10) = CDbl(.Text)             'preis sonstiges
Else
Cells(Z, 10) = .Text
End If
End With
Cells(Z, 11) = Textbox8           'Bemerkungen
Range("l2:l37").NumberFormat = "#,##0.00" 'Anzahl Liter Kraftstoff
Range("m2:m37").NumberFormat = "#,##0.00 $" 'Preis Kraftstoff
Range("n2:n37").NumberFormat = "#,##0.00" 'Anzahl Liter Motoröl
Range("o2:o37").NumberFormat = "#,##0.00 $" 'Preis Motoröl
Range("p2:p37").NumberFormat = "#,##0.00 $" 'sonstiges
Range("e38:e9999").NumberFormat = "#,##0.00"
Range("f38:f9999").NumberFormat = "#,##0.00 $"
Range("g38:g9999").NumberFormat = "#,##0.00"
Range("h38:h9999").NumberFormat = "#,##0.00 $"
Range("i38:i9999").NumberFormat = "@"
Range("j38:j9999").NumberFormat = "#,##0.00 $"
With Range("A38:K9999").Font
.Name = "Arial"
.FontStyle = "Standard"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Sheets("Start").Select
End Sub

Anzeige
AW: TextBox und Kommazahlen
01.01.2012 20:35:36
p.drogan@gmx.de
danke fcs,
funktioniert einwandfrei!

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige