Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
644to648
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
644to648
644to648
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

CDbl - Code

CDbl - Code
31.07.2005 20:55:02
Alexander
Hallo,
ich möchte eine Zahl aus einer TextBox in eine Zelle auslesen. Wegen Komma und Punkt gab es Probleme mit dem korrekten Übertragen. Deshalb habe ich die CDbl-Funktion eingefügt. Das Problem mit dem Komma ist jetzt behoben. Nur muss jetzt in der TextBox immer eine Zahl stehen. Wenn nichts drin steht oder vom Benutzer ausversehen ein Buchstabe eingetragen wird, zeigt er sofort eine Laufzeitfehler an. Was kann ich tun, damit ein leeres Feld oder Buchstaben ignoriert werden?

Private Sub TextBox3_Change()
Range("E38") = CDbl (TextBox3.Value)
End Sub

Vielen Dank für die Hilfe
Alex

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CDbl - Code
31.07.2005 21:01:10
Ramses
Hallo
Das Change-Ereignis ist dazu nicht geeignet.
Verwende das Exit-Ereignis der Textbox und prüfen den Inhalt der Textbox
if Not IsNumeric(CDbl(Me.Textbox1)) Then
Msgbox "Nicht korrekter Wert
Cancel = True
End If
Gruss Rainer
AW: CDbl - Code
31.07.2005 21:22:22
Alexander
Hallo Rainer,
vilen Dank für den Tip. Ich habe jetzt folgenden Code:

Private Sub TextBox3_Exit()
If Not IsNumeric(CDbl(Me.TextBox3)) Then
MsgBox "Nicht korrekter Wert"
Cancel = True
End If
End Sub

Wenn ich aber einen Buchstaben eintippe und mit der Maus in eine andere TextBox Klicke, kommt keine Fehlermeldung. Uns was mache ich mit der Zeile:
Range("E38") = CDbl (TextBox3.Value)
Denn diese brauche ich so, denn sonst muss man in der Box ein Punkt statt Komma verwenden damit der Wert in der Zelle später stimmt.
Danke schonmal
Alex

Anzeige
AW: CDbl - Code
31.07.2005 21:30:00
Matthias
Hallo Alex,
mein Vorschlag:

Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsNumeric(TextBox3.Value) Then
MsgBox "Nicht korrekter Wert"
Cancel = True
Else
Range("E38") = CDbl(TextBox3)
End If
End Sub

Gruß Matthias
AW: CDbl - Code
31.07.2005 22:16:14
Alexander
Vielen Dank für die Hilfe.
Alex
AW: CDbl - Code
31.07.2005 21:32:50
Ramses
Hallo
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsNumeric(Me.TextBox3) Then
    MsgBox "Nicht korrekter Wert"
    Cancel = True
Else
    Range("E38") = CDbl(TextBox3.Value)
End If
End Sub

und DIESEN Code übernehmen.
Das Exit-Ereignis von DIR ist falsch !!
Gruss Rainer
Anzeige
AW: CDbl - Code
31.07.2005 22:15:31
Alexander
Hallo,
ich habe noch die Textbox-Nummer in Deinem Code geändert. Jetzt geht es.

Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsNumeric(Me.TextBox3) Then
MsgBox "Nicht korrekter Wert"
Cancel = True
Else
Range("E38") = CDbl(TextBox3.Value)
End If
End Sub

Danke
Alex

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige