Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
828to832
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
828to832
828to832
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

If Then Else

If Then Else
11.12.2006 12:07:09
Christian
Hallo Leute,
ich brauch dringend Eure Hilfe.
Ich habe die folgende Fehlerschleife kontruiert, aber sie funktioniert nicht !Kann mir bitte jemand sagen was ich falsch gemacht habe ?

Private Sub Prüfen()
On Error GoTo Fehler
If OptionButton1.Value = False And OptionButton2.Value = False Then Err.Raise 65536
Fehler:
If Err.Number = 65536 Then MsgBox ("Bitte auswählen !")
Exit Sub
Resume Next
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: If Then Else
11.12.2006 12:22:38
Uduuh
Hallo,
warum machst du das über einen Fehler?
Exit Sub velässt die Routine
Resume Next wird folglich nie ausgeführt.
Gruß aus’m Pott
Udo

AW: If Then Else
11.12.2006 12:52:26
Christian
Da sind noch einige Fehlerschleifen (MsgBoxes) hinter! Die sollen dann auch immer eine eigene MsgBox bringen.
AW: If Then Else
11.12.2006 13:21:37
Franc
Kannst du dein ganzes Makro schicken? Dann kann man es optimieren.
AW: If Then Else
11.12.2006 14:21:15
Christian
Hier ist das gesammte Makro:

Private Sub Prüfen()
On Error GoTo Fehler
If Len(TextBox2.Value) <> 10 Then
MsgBox ("DepotNr. ist falsch !!!")
TextBox2.SetFocus
Exit Sub
End If
If Len(TextBox3.Value) <> 12 Then
MsgBox ("ISIN ist falsch !!!")
TextBox3.SetFocus
Exit Sub
End If
If OptionButton1.Value And OptionButton2.Value = False Then Err.Raise 65536
'If OptionButton3.Value = False And OptionButton4.Value = False Then Err.Raise 65527
If TextBox1.Value = "" Then Err.Raise 65535
If TextBox2.Value = "" Then Err.Raise 65534
If TextBox3.Value = "" Then Err.Raise 65533
If TextBox8.Value = "" Then Err.Raise 65532
If TextBox6.Value = "" Then Err.Raise 65530
If ComboBox1.Value = "" Then Err.Raise 65531
If TextBox7.Value = "" Then Err.Raise 65529
If TextBox9.Value = "" Then Err.Raise 65528
If TextBox10.Value = "" Then Err.Raise 65525
Eintragen
Fehler:
If Err.Number = 65536 Then MsgBox ("Bitte auswählen !")
If Err.Number = 65527 Then MsgBox ("Bitte Zugang oder Abgang auswählen !")
If Err.Number = 65535 Then MsgBox ("Datum fehlt !"): TextBox1.SetFocus
If Err.Number = 65534 Then MsgBox ("Depotnummer bitte eingeben !"): TextBox2.SetFocus
If Err.Number = 65533 Then MsgBox ("Bitte ISIN eingeben !"): TextBox3.SetFocus
If Err.Number = 65532 Then MsgBox ("Bitte Nennwert angeben !"): TextBox4.SetFocus
If Err.Number = 65530 Then MsgBox ("Bitte geben Sie eine Kupon-Nummer an !"): TextBox6.SetFocus
If Err.Number = 65531 Then MsgBox ("Bitte eine Art des WP eingeben !"): ComboBox1.SetFocus
If Err.Number = 65529 Then MsgBox ("Bitte geben Sie hier " + Chr(13) + "die Buchungsbelegnummer an !"): TextBox7.SetFocus
If Err.Number = 65528 Then MsgBox ("Bitte die Personalnummer" + Chr(13) + " des 1.Freigebers eingeben !"): TextBox9.SetFocus
If Err.Number = 65525 Then MsgBox ("Bitte die Personalnummer" + Chr(13) + " des 2.Freigebers eingeben !"): TextBox10.SetFocus
Exit Sub
Resume Next
End Sub

Anzeige
AW: If Then Else
11.12.2006 15:02:14
Franc
1. Fehler kommt weil du Eintragen nicht definiert hast
2. Du sagst, das wenn Textbox 8 leer ist soll msg und Textbox 4 markiert werden. Es gibt aber anscheinend keine Textbox 4.
Allzuviel kann man da net kürzen, weil Prüfroutine bleibt Prüfroutine. ^^
Schreibs am besten direkt hintereinander was gemacht werden soll. Wegen der Übersicht kannst eine lange Zeile mit Hilfe von _ auf mehrere kurze aufteilen. (am besten ein Tab versatz wegen besserer Übersicht)

Private Sub Prüfen()
If Len(TextBox2.Value) <> 10 Then
MsgBox ("DepotNr. ist falsch !!!")
TextBox2.SetFocus
Exit Sub
End If
If Len(TextBox3.Value) <> 12 Then
MsgBox ("ISIN ist falsch !!!")
TextBox3.SetFocus
Exit Sub
End If
If OptionButton1.Value And OptionButton2.Value = False Then _
MsgBox ("Bitte auswählen !")
If OptionButton3.Value = False And OptionButton4.Value = False Then _
MsgBox ("Bitte Zugang oder Abgang auswählen !")
If TextBox1.Value = "" Then _
MsgBox ("Datum fehlt !"): TextBox1.SetFocus
If TextBox2.Value = "" Then _
MsgBox ("Depotnummer bitte eingeben !"): TextBox2.SetFocus
If TextBox3.Value = "" Then _
MsgBox ("Bitte ISIN eingeben !"): TextBox3.SetFocus
If TextBox8.Value = "" Then _
MsgBox ("Bitte Nennwert angeben !"): TextBox8.SetFocus
If TextBox6.Value = "" Then _
MsgBox ("Bitte geben Sie eine Kupon-Nummer an !"): TextBox6.SetFocus
If ComboBox1.Value = "" Then _
MsgBox ("Bitte eine Art des WP eingeben !"): ComboBox1.SetFocus
If TextBox7.Value = "" Then _
MsgBox ("Bitte geben Sie hier " + Chr(13) + "die Buchungsbelegnummer an !"): TextBox7.SetFocus
If TextBox9.Value = "" Then _
MsgBox ("Bitte die Personalnummer" + Chr(13) + " des 1.Freigebers eingeben !"): TextBox9.SetFocus
If TextBox10.Value = "" Then _
MsgBox ("Bitte die Personalnummer" + Chr(13) + " des 2.Freigebers eingeben !"): TextBox10.SetFocus
End Sub

Anzeige
AW: If Then Else
12.12.2006 16:10:42
Christian
Hallo Franc,
vielen Dank für Deine prompte Antwort. Du hast nicht eine Fehler näher definiert (Err.Number...) hatte das einen bestimmten Grund ?
Oder einfach nur weil es besser funktioniert ?
Gruß aus`m hohen Norden !

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige