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

Wieso schreibt jetzt Falsch ?

Wieso schreibt jetzt Falsch ?
23.07.2003 21:32:23
walter
Guten Abend,
habe folgendes Makro geschrieben:
Zeile 1: '

Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Zeile 2:  

Private Sub TextBox3_Change()
Application.ScreenUpdating = False
If IsNumeric(TextBox3) = False And TextBox3 <> "" Then
MsgBox "Es sind nur nummerische Werte erlaubt."
TextBox3 = "0.000,00"
TextBox3.SetFocus
Zeile3:  With TextBox4
.SetFocus
.SelStart = 0
.SelLength = Len(.Text)
End With
On Error Resume Next
TextBox3.SetFocus
With TextBox3
.SetFocus
.SelStart = 0
.SelLength = Len(.Text)
End With
Else
Worksheets("Datenbank").Range("A12") = CDbl(TextBox3)
'so schreibt Richtig in Tabelle
TextBox3 = Format(Worksheets("Datenbank").Range("A12").Value, ("###,##0.00"))
'so holt von Tabelle rein, auch Format mit TAB-Taste direkt rein !
End If
Application.ScreenUpdating = True
End Sub

Seit ich die Zeile 2 eingefügt habe und ich in der UserForm Textbox 3 eine
Zahl eingeben will klappt es nicht ! Courser bleibt bei der Einer Zahl stehen
und wechselt nur dort die Ziffer.
Wieso ?
Zur Erklärung, Zeile 2 habe ich reingesetzt damit und die Zeile 3 so geändert
damit wird der Focus auf Textbox 3 gesetzt, hab ich per Zufall rausgefunden.
Aber noch einmal warum kann ich jetzt keine kompl. Zahl z.b. 55,30 eingeben ???
Gruss Walter

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wieso schreibt jetzt Falsch ?
23.07.2003 23:28:16
Nepumuk
Hallo Walter,
als ich deinen Code zum ersten mal sah, blinkten bei mir plötzlich alle roten Lichter gleichzeitig und die Frage stand unübersehbar im Raum, was will er mit diesem Code bezwecken. Ich sehe da viele Wiedersprüchlichkeiten wie z.B.
TextBox3.SetFocus
Zeile3: With TextBox4
.SetFocus
erkläre mal, was du erreichen willst, und dir wird geholfen werden.
Gruß
Nepumuk

AW: Wieso schreibt jetzt Falsch ?
24.07.2003 19:27:38
walter
Hallo Nepumuk,
dank für deine Info.
Ich mmöchte nur fragen wieso ich die Zahl nicht mehr eingeben kann, kann also
nur 5,50 zeigt 5,01 an ?
Gruss walter

AW: Wieso schreibt jetzt Falsch ?
24.07.2003 19:44:01
Nepumuk
Hallo Walter,
das kann ich dir bei deinem Code erlich nicht sagen, da ich den nicht Testen kann. Da kommt schon beim Aufruf der Userform eine Fehlermeldung nach der anderen. Aber anderer Vorschlag, wenn du nur nummerische Werte in die Textbox zulassen willst, gibt es folgende Möglichkeit:

Option Explicit
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57 'Zahlen von null bis neun
Case 44 'Komma
If TextBox1 = "" Or InStr(1, TextBox1, ",") <> 0 Then KeyAscii = 0
Case 45 'Minus
If TextBox1 <> "" Or InStr(1, TextBox1, "-") <> 0 Then KeyAscii = 0
Case Else 'alle anderen
KeyAscii = 0
End Select
End Sub


Code eingefügt mit: Excel Code Jeanie
Gruß
Nepumuk

Anzeige
AW: Wieso schreibt jetzt Falsch ?
24.07.2003 19:46:00
Nepumuk
Hallo Walter,
das Beispiel ist für Textbox1, das musst du natürlich noch anpassen.
Gruß
Nepumuk

AW: Super, darf ich noch was fragen
24.07.2003 19:56:32
walter
Hallo Nepumuk,
super herzlichen Dank.
Kann man hier trotzdem eine Frage vorher einbauen, wenn man einen Buchstaben eingibt,
und dann die bei der Fehlermeldung die Textbox selektiert bzw. Focus drauf gelegt wird ???
Aber nochmal Super das das so funktioniert, bin also doch noch nicht so fittttt!!!!
Gruss Walter

AW: Super, darf ich noch was fragen
24.07.2003 20:03:31
Nepumuk
Hallo Walter,
das Forum lebt von Fragen. Aber deine musst du mir nochmal übersetzen.
Kann man hier trotzdem eine Frage vorher einbauen, wenn man einen Buchstaben eingibt,
und dann die bei der Fehlermeldung die Textbox selektiert bzw. Focus drauf gelegt wird ???
Verstehe nur Bahnhof.
Gruß
Nepumuk

Anzeige
AW: Nochmal ich hoffe verständlicher
24.07.2003 20:26:03
walter
Hallo Nepumuk,
entschuldige wenn ich Dich hier etwas ? mit meinem nicht Fachwissen nerve.
Ich versuche es auf DEUTSCH: 1. Natürlich passe ich auf Textbox 3 an.
2. Meine MSG-Box Warnung
(MsgBox "Es sind nur nummerische Werte erlaubt.")
einzubauen, wenn jemand versucht auch nur
einen Buchstaben einzugeben.(als Warnung)
3. Danach sollte der Focus auf die Textbox 3
gesetzt werden.
Ich hoffe ich habe es hingekriegt ???
Gruss Walter


Anzeige
AW: Nochmal ich hoffe verständlicher
24.07.2003 23:20:17
Nepumuk
Hallo Walter,
das ist relativ einfach und kann in das Makro integriert werden.

Option Explicit
Private Sub TextBox3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57 'Zahlen von null bis neun
Case 44 'Komma
If TextBox1 = "" Or InStr(1, TextBox1, ",") <> 0 Then KeyAscii = 0
Case 45 'Minus
If TextBox1 <> "" Or InStr(1, TextBox1, "-") <> 0 Then KeyAscii = 0
Case Else 'alle anderen
MsgBox "Nur Nummerische Werte erlaubt.", 48, "Hinweis"
KeyAscii = 0
End Select
End Sub


Code eingefügt mit: Excel Code Jeanie
Den SetFocus kannst du dir dabei sparen, da die Eingabe von anderen Zeichen als die, die du zulässt und das sind in diesem Fall Ziffern, Komma und Minus sowieso nicht moglich ist.
Gruß
Nepumuk

Anzeige
AW: Wieso schreibt jetzt Falsch ?
23.07.2003 23:26:46
xXx
Hallo,
eine Sub in einer Sub???????????? Oder ist dir da was durcheinander geraten?
Gruß aus'm Pott
Udo
http://www.excelerator.d

AW: Wieso schreibt jetzt Falsch ?
24.07.2003 19:34:28
walter
Hallo Udo,
Entschuldigung wenn ich die Zeile 2 nur aktiviert habe, springt bei der Eingabe
der Zahl der Courser an die Zehner Zahl und eingeben kann man nichts mehr.
Ferner erreiche ich mit: Private Sub TextBox3_Change()
das die Textbox nach der Fehlermeldung wieder selekiert wird.
Bei der Zeile 1 funktioniert dies nicht, deshalb habe ich die Zeile 2 aktiviert.
Gruss Walter

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige