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

Autom. Pruefen der Eingaben

Autom. Pruefen der Eingaben
26.07.2003 07:33:52
Jonas
Hi Excelfreunde,
habe ein kleines Problem und brauche Eure Hilfe dabei.
Ich habe eine Eingabemaske für bestimmte Eingaben kreiert. Nun habe ich einen Button, der sich "Eingaben überprüfen" nennt, damit falsche Eingaben vom Benutzer abgefangen werden können.
Mein Traum wäre es, diese Abfrage automatisch ablaufen zu lassen, sobald der User in das nächste Feld sprint. Allerdings sollte das ganze per Mausklick, per Entertaste sowie Tab-Taste ins nächste Feld geschehen.
Ich würde mich riesig über ein paar Tips von Euch freuen !
Schönes Wochenende
Jonas

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

Betreff
Datum
Anwender
Anzeige
AW: Autom. Pruefen der Eingaben
26.07.2003 09:11:51
Niels
Hi Jonas,
das Problem ist eigentlich ganz einfach zu lösen .... wenn man sich an VBA ran traut.
Wenn Deine "Eingabemaske" ein Formular ist, kannst Du Code beim Verlassen eines Eingabefeldes starten. z.B. so

Private Sub Eingabefeld_Exit(ByVal Cancel As MSForms.ReturnBoolean)
MsgBox "Eingabefeld verlassen"
End Sub

Wenn Deine "Eingabemaske" eine Tabelle ist, müsstes Du nach jeder Eingabe auf dieser Seite Code ausführen. (VBA Code für diese Seite einfügen)

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
MsgBox "Zellwert wurde geändert"
End Sub

Ohne VBA hast Du aber wohl keine Chance.
Schönes Wochenende
Niels

Anzeige
AW: Autom. Pruefen der Eingaben
26.07.2003 09:27:23
Jonas
Hi Niels,
vielen Dank für Deine Antwort.
Ja, meine "Eingabemaske" ist ein Formular. Geht das evtl. irgendwie zu bewerkstelligen, das ich das ganze als Funktion deklariere ? Also das ich jedesmal drauf verweisen kann ? Weil ich hab so viele Felder, das des schon ganz schön viel mehr Code wäre, wenn das jedesmal für jedes Feld eingegeben werden müsste :/
Lieben Gruß,Jonas

AW: Autom. Pruefen der Eingaben
26.07.2003 09:34:48
Hajo_Zi
Hallo Jonas
Leider hast Du nicht geschrieben was gültige Eingaben sin. Für eine Userform.

Option Explicit
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'   Ansatz VB 6 Buch von Peter Monadjemi
'   nur Zahlen und ein Komma
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Asc("."), Asc(",")
If InStr(TextBox1, ",") <> 0 Then
KeyAscii = 0
Else
KeyAscii = Asc(",")
End If
Case Asc(vbBack)
'        Case Asc("-")
'            If Len(TextBox1) = 0 Then
'                If InStr(TextBox1, "-") <> 0 Then
'                Else
'                    KeyAscii = Asc("-")
'                End If
'            Else
'                KeyAscii = 0
'            End If
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'   von Peter Haserodt
'   nur Buchstaben
Select Case KeyAscii
Case 97 To 122, 65 To 90, 228, 246, 252, 196, 214, 220, 223
Case Else
KeyAscii = 0
MsgBox "Nur Buchstaben", vbExclamation
End Select
End Sub
Private Sub TextBox3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'   von Peter Haserodt
'   nur Buchstaben (Groß)
Select Case KeyAscii
Case 65 To 90, 196, 214, 220
Case Else
KeyAscii = 0
MsgBox "Nur Großbuchstaben", vbExclamation
End Select
End Sub
Private Sub TextBox4_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'   von Ernst Dunkel hat ein Fehler es können auch mehrere Kommas eingegeben werden
'   Eingaben nur Zahlen
If Chr(KeyAscii) Like "[0-9]" = False Then KeyAscii = 0 'oder mit Komma ,0-9
End Sub
Private Sub TextBox5_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'   von L.Vira, kein Komma
'   Eingaben nur Zahlen
Select Case KeyAscii
Case 48 To 57
Case Else: KeyAscii = 0
End Select
End Sub
Private Sub TextBox6_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'   erstellt von Hajo.ziplies@web.de
'   Datumseingabe  01.01.03;1.1.03 oder komlettes Jahr
'   Buchstaben werden ausgeschlossen, nur Zahlen und Punkt
'   die Überprüfung ob Datum erfolgt in Private Sub TextBox6_AfterUpdate()
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Asc(".")
If Len(TextBox6) = 0 Then
KeyAscii = 0
Else
If Len(TextBox6) - Len(Application.Substitute(TextBox6, ".", "")) = 2 Then
KeyAscii = 0
ElseIf Len(TextBox6) > 1 Then
If Mid(TextBox6, Len(TextBox6), 1) = "." Then KeyAscii = 0
Else
KeyAscii = Asc(".")
End If
End If
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub TextBox6_AfterUpdate()
'   Jahreszahl vom aktuellen Jahr ergänzen falls nicht vorhanden
If Len(TextBox6) - Len(Application.Substitute(TextBox6, ".", "")) = 1 Then
TextBox6 = TextBox6 & "." & Year(Date)
End If
If IsDate(TextBox6.Text) Then
If Format(CDate(TextBox6.Value), "dd.mm.yy") <> TextBox6 Then
MsgBox "Das Datum wurde übersetzt"
End If
TextBox6 = Format(CDate(TextBox6.Value), "dd.mm.yy")
Else
TextBox6 = ""
End If
End Sub


Code eingefügt mit: Excel Code Jeanie
Gruß Hajo
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.

Anzeige
AW: Autom. Pruefen der Eingaben
26.07.2003 09:41:33
Jonas
Hi Hajo,
das meinte ich leider nicht. Die Gültigkeit der Eingaben is verschieden. Was ich nur erreichen möchte ist, das wenn der Benutzer ins nächste Feld sprint ( unabhängig davon, ob er dazu die Maus, TAB oder Enter nutzt ), eine automatische Prüfung der Gültigkeit erfolgt, bzw. eine Funktion aufgerufen wird (wie auch immer). Diese habe ich ja für jedes Feld schon definiert.
Lieben Gruß, Jonas

AW: Autom. Pruefen der Eingaben
26.07.2003 09:43:49
Hajo_Zi
Hallo Jonas
"Diese habe ich ja für jedes Feld schon definiert" wo ist der Code.
Ich habe immer noch keine Ahnung was gültige Eingabenn sind. Mir scheint da ist geheim.
Gruß Hajo
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.

Anzeige
AW: Autom. Pruefen der Eingaben
26.07.2003 09:53:54
Jonas
hehe :) Nein, das nicht.
If Text_Vorname = "" Then
FehlerBox ("FehlerVorname")
Text_Vorname.SetFocus
Exit Sub
Else
Sheet1.Cells(1, 1) = Text_Vorname
End If
so ungefähr sieht mein Code aus .. aber das ganze passiert halt erst, wenn mann auf einen Button "Eingaben prüfen" klickt.
Gruß, Jonas

AW: Autom. Pruefen der Eingaben
26.07.2003 09:57:59
Hajo_Zi
Hallo Jonas
benutze einer dieser Aktionen

Private Sub TextBox1_AfterUpdate()
End Sub


Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
End Sub

Gruß Hajo
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.

Anzeige
AW: Autom. Pruefen der Eingaben
26.07.2003 10:24:08
Jonas
Danke Hajo, funktioniert !
Aber ein was kleines wäre da noch :) Selbst wenn ich Text_Name.SetFocus angebe, springt er mit der Marke trotzdem ins nächste Feld.
Was mache ich falsch ?
Danke schonmal für Deine Geduld mit mir :)
Jonas

AW: Autom. Pruefen der Eingaben
26.07.2003 10:32:01
Hajo_Zi
Hallo Jonas
in die gleiche Textbox sprimgen ist ein wenig kompliziert.
Beispieldatei
Gruß Hajo
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.

Anzeige
AW: Autom. Pruefen der Eingaben
26.07.2003 11:40:55
Jonas
Hmm, ich glaube ich lass es sein, weil da gibt es noch ein paar berechnungsprobleme.
Aber vielleicht mal die Frage: Gibt es eine Routine, die checken kann, ob etwas im gesamten Formular geändert wurde ( Eingaben ) ?
Dann werde ich einen Button basteln, der anzeigt, das alles ok ist. Sobald aber etwas geändert wird, soll nochmal als Text in diesem Button "Prüfen" erscheinen.
Lieben Dank, Jonas

AW: Autom. Pruefen der Eingaben
26.07.2003 11:44:20
Hajo_Zi
Hallo Jonas
Leider kein Ansatz.
Gruß hajo

AW: Autom. Pruefen der Eingaben
26.07.2003 11:52:44
Jonas
Wie meinst Du das ? Gibt es keinen Ansatz ? Oder hab ich zuwenig mitgeteilt :)
Lieben Gruß, Jonas

AW: Autom. Pruefen der Eingaben
26.07.2003 11:59:20
Hajo_Zi
Hallo Jonas
ich habe keinen Ansatz, es waren schon genug Informationen.
Oder Vielleicht so mal Live ungestestet. Definiere eine Variable as Boolean beim start der Userform und bei jeden Change Ereignis setzt Du sie auf true ist die Variable beim beenden der UF True wurde was verändet.
Gruß hajo

Anzeige
AW: Autom. Pruefen der Eingaben
26.07.2003 18:05:17
Jonas
Danke Hajo ! Habs so gemacht wie du vorgeschlagen hast, klappt super !
Lieben Gruß,
Jonas

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige