Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

If Then Else

Forumthread: 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

Anzeige

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.
Anzeige
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 !
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige