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

Fehlermeldung

Fehlermeldung
24.05.2003 21:23:57
Walter
Guten Abend,
wenn ich ein zahl ein gebe ist alles i.o.
wenn ich einen buchstaben eingebe kommt direkt die msgbox
dann erschein eine fehlermeldung: typen unverträglich
im Makro wird dann als fehlemeldundie
letzte zeile makiert:
Worksheets("Datenbank").Range("A12") = CDbl(TextBox3)

hier mein ganzes makro:
Private Sub TextBox3_Change()
If IsNumeric(TextBox3) = False And TextBox3 <> "" Then
MsgBox "Es sind nur nummerische Werte erlaubt."
'Cancel = True
TextBox3 = ""
End If
Worksheets("Datenbank").Range("A12") = CDbl(TextBox3)
End Sub

Ich hoffe das mir jemand helfen kann...
gruss walter



14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Fehlermeldung
24.05.2003 21:37:32
knut

Private Sub TextBox3_Change()
If IsNumeric(TextBox3) = False And TextBox3 <> "" Then
MsgBox "Es sind nur nummerische Werte erlaubt."
Textbox3 = ""
Exit Sub
End If
Worksheets("Datenbank").Range("A12") = CDbl(TextBox3)
End Sub
Knut

Re: Fehlermeldung
24.05.2003 21:56:00
walter

Hallo knut,
herzlichen dank für die schnelle hilfe.
Leider kommt immer noch die fehlermeldung:
Worksheets("Datenbank").Range("A12") = CDbl(TextBox3)
bei dieser zeile.
Immer wenn ich einen buchstaben eingegeben habe!
Gruss walter

Re: Fehlermeldung
24.05.2003 22:05:04
walter

Hallo Peter,
leider hilft es noch nicht weiter.
Immer wieder nach der fehlermeldung steh der satz gelb makiert
im makro:
Worksheets("Datenbank").Range("A12") = CDbl(TextBox3)
Wenn ich cdbl rausnehme ist alle ok, aber ich möchte die zahle in die zelle rechtsbündig geschrieben haben, sonst geht das nicht oder ?

gruss walter

Re: Fehlermeldung
24.05.2003 22:09:41
PeterW

Hallo Walter,

wenn TextBox3 leer ist (also ="") läßt sich damit kein CDbl anwenden. Ohne deine Aufgabenstellung zu kennen hilft dir vielleicht die Textbox statt auf "" zu setzen, ihr den Wert 0 zuzuweisen.

Gruß
Peter

Re: Fehlermeldung
24.05.2003 22:21:06
Walter

Hallo Peter,
super hat geklappt,SUPER, ich habe dann das gesetzt:
TextBox3 = "0.000,00"
jetzt schreibt er richtig und läuft ohne fehlermeldung.

Darf ich noch eine kleine frage stellen???
Nach der fehlermeldung erscheint ja das format, und der courser
blinkt am ende der letzten 0. Kann man das das gesamte makiert wird und dann überschreiben kann ?

Gruss walter

Anzeige
Re: Fehlermeldung
24.05.2003 22:31:57
PeterW

Hallo Walter,

ich weiß nicht, welchen Code du im Moment benutzt. Ist das TextBox3_Change Ereignis wirklich nötig? Mit dem Code aus der Recherche kannst du verhindern, dass nicht-nummerische Werte eingegeben werden. Mit Private Sub TextBox3_Enter kannst du der Textbox zum Zeitpunkt des Eintritts in dieselbe einen Wert zuweisen und den Wert in der Zelle auf dem Tabellenblatt kannst du mit Private Sub TextBox3_Exit zuweisen.

Gruß
Peter

Re: Fehlermeldung
24.05.2003 22:53:13
Nepumuk

Hallo Walter,
du kannst ersten besimmen welche Tasten überhaupt eine Wirkung in der Textbox zeigen. Aber, wenn du z.B. zwei Kommas eingibst, dann wäre das ja auch falsch, d.h. dass musst du auch noch abfangen. Was mir an deinem Code noch auffällt, du machst die Zuweisung des Wertes im TextBox3_Change - Ereignis. Das bedeutet, dass du bei jedem Tastendruck der Tabelle einen neuen Wert zuweist. Besser wäre es, wenn du die Zuweisung durch einen Button, den der Anwender anklicken muss, machst. Dann könntest du auch eine relativ einfache Prüfung der Eingabe unternehmen. So z.B.


Private Sub CommandButton1_Click()
    Dim Ok As Boolean
    Call TBox3_pruefen(Ok)
    If Not Ok Then Exit Sub
    Worksheets("Datenbank").Range("A12") = CDbl(TextBox3)
End Sub

Private Sub TextBox3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    Select Case KeyAscii
    Case 44 'Komma
    Case 46 'Punkt
    Case 48 To 57 'Zahlen von 0 bis 9
    Case Else: KeyAscii = 0 'alle anderen auf nichts setzen
    End Select
End Sub

Private Sub TBox3_pruefen(Ok As Boolean)
    If Not IsNumeric(TextBox3.Value) Then
        TextBox3.SelStart = 0
        TextBox3.SelLength = Len(TextBox3.Value)
        TextBox3.SetFocus
        Ok = False
    Else
        Ok = True
    End If
End Sub


     Code eingefügt mit Syntaxhighlighter 2.1

Gruß
Nepumuk


Anzeige
Re: Fehlermeldung
24.05.2003 22:58:53
Nepumuk

Hallo Walter,
da fehlt noch was.


Private Sub TBox3_pruefen(Ok As Boolean)
    If Not IsNumeric(TextBox3.Value) Then
        MsgBox "Fehlerhafte Eingabe.", 48, "Hinweis"
        TextBox3.SelStart = 0 'Start der Auswahl
        TextBox3.SelLength = Len(TextBox3.Value) ' Länge der Auswahl
        TextBox3.SetFocus 'Auswählen
        Ok = False
    Else
        Ok = True
    End If
End Sub

     Code eingefügt mit Syntaxhighlighter 2.1

Gruß
Nepumuk

Anzeige
Re: Fehlermeldung
24.05.2003 23:06:51
Walter

Hallo Nepumuk,
herzlichen dank für die unterstützung.
Werde morgen früh alles mal testen.
Informiere dich
Gruss Walter

Re: Fehlermeldung
24.05.2003 23:08:33
Walter

Hallo Peter,
probiere morgen früh alles aus.
Muß deinen hinweis genauer lesen , da ich noch nicht ganz so fittttt bin.
Gruss Walter

Re: Fehlermeldung
25.05.2003 04:48:27
Nepumuk

Guten Morgen Walter,
noch ein Tip. Du kannst die Prüfroutine auch mit der Enter-Taste auslösen.

Gruß
Nepumuk

Re: Fehlermeldung
25.05.2003 14:29:28
Walter

Hallo Nepumuk,
herzlichen Dank für die weitere Unterstützung.
Ich glaube Du bist sehr frü...
Na ja, wenn man doch nicht schlafen kann.
Es funktioniert von Dir alles.
Gruss Walter

Anzeige
Re: Fehlermeldung
25.05.2003 21:06:34
Nepumuk

Hallo Walter,
was heißt hier noch nicht schlafen, das was kurz bevor ich in die Arbeit ging, damit ich heute vor 18:00 Uhr Feierabend habe
Gruß
Nepumuk

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige