Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
756to760
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
756to760
756to760
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zwei "If-Abfragen" hintereinander

Zwei "If-Abfragen" hintereinander
21.04.2006 06:34:56
Ralf-Eckhard
Hallo. Ich möchte zwei "If-Abfragen" hintereinander laufen lassen. Die Erste funktioniert einwandfrei. Wenn ich die Zweite Abfragen durchführen lassen will, bekomme ich die Fehlermeldung "Kompilierungsfehler in verborgenem Modul: Diese Arbeitsmappe"
Der bisherige (funktionierende) Code der ersten Abfrage sieht so aus:
----------

Private Sub Workbook_Open()
'{107} = Plus-Taste im Ziffernblock
'{109} = Minus-Taste im Ziffernblock
Application.OnKey "{107}", "Plus"
Application.OnKey "{109}", "Minus"
Application.OnKey "{F1}", "goto_WG1"
Application.OnKey "{F2}", "goto_WG2"
Application.OnKey "{F3}", "goto_WG3"
Application.OnKey "{F4}", "goto_WG4"
Application.OnKey "{F5}", "goto_WG5"
Application.OnKey "{F7}", "F7_blank"
Application.OnKey "{F8}", "goto_Übersicht"
Application.OnKey "{F9}", "goto_Übersicht_s"
Sheets("Artikel nicht über Kasse").Select
ActiveSheet.Unprotect
Range("A1:D1").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("I29").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("Gästeübersicht").Select
Range("M30").Select
If Worksheets("Artikel nicht über Kasse").Cells(28, 1).Value = "" Then Exit Sub
Sheets("Artikel nicht über Kasse").Select
Select Case MsgBox("Im Blatt  'Artikel nicht über Kasse'  befinden sich noch Einträge." & Chr(10) & "              Sollen diese Einträge jetzt gelöscht werden?", vbYesNo)
Case vbYes
Call Tagesabschluss_start
End Select
Sheets("Gästeübersicht").Select
Range("M30").Select
End Sub

----------
Nun dachte ich mir dass ich hinter "End Select" einfach folgenden Code einfügen kann:
----------
Sheets("Preise").Select
ActiveSheet.Unprotect
Range("AD4").Select
If Worksheets("Preise").Cells(1, 32).Value = "" Then Exit Sub
Sheets("Preise").Select
Select Case MsgBox("Es ist noch eine Rabattaktion aktiv." & Chr(10) & " Soll diese jetzt gelöscht werden?", vbYesNo)
Case vbYes
Call clear_rabatt
End Select
----------
Leider funktioniert das wegen dann erscheinender obiger Fehlermeldung nicht. Was ist falsch?
Wichtig ist dabei noch, dass die zweite Abfrage natürlich unabhängig davon durchgeführt werden soll, ob die erste Abfrage mit "Ja" oder "Nein" beantwortet wird. Kann mir jemand helfen?
Danke im voraus,
Ralf-Eckhard

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Problem selbst gelöst :-)
21.04.2006 09:07:51
Ralf-Eckhard
Habe das Problem doch noch selbst lösen können.
dann also nicht mehr offen...
21.04.2006 11:22:16
Andi
btw: wenn jemand im Archiv auf Deine Frage stößt, dann würde er sich möglicherweise freuen, zu erfahren, WIE Du das Problem gelöst hast.
Schönen Gruß,
Andi
zu früh gefreut ... :-)
21.04.2006 19:16:54
Ralf-Eckhard
Hallo Andi und alle anderen!
War etwas voreilig. Das Problem mit dem Kompilierungsfehler erklärt sich von selbst: Fehler in einem geschützten Modul.
Leider bin ich doch nicht wirklich weiter gekommen. Ich habe nun die beiden If-Abfragen hintereinander - es kommt auch keine Fehlermeldung mehr. Nur wird die zweite Abfrage gar nicht erst durchgeführt wenn die erste Abfrage ("Artikel nicht über Kasse") feststellt, daß in der zu überprüfenden Zelle (28, 1) kein Wert vorhanden ist. Erst wenn dort ein Wert steht und dadurch das Makro "Tagesabschluss_start" ausgeführt wurde, wird die zweite Abfrage ("Preise") durchgeführt. Mache ich grundsätzlich was falsch und muss man dieses Problem irgendwie ganz anders angehen?
Ich möchte halt, daß nacheinander überprüft wird ob jeweils in den beiden Blättern in bestimmten Zellen Werte vorhanden sind und man dann per "Ja/Nein"-Button entscheiden kann ob die entsprechenden Makros ("Tagesabschluss_start" und "clear_Rabatt") ausgeführt werden sollen oder nicht.
Hier der jetzt verwendete Code
----------
If Worksheets("Artikel nicht über Kasse").Cells(28, 1).Value = "" Then Exit Sub
Sheets("Artikel nicht über Kasse").Select
Select Case MsgBox("Im Blatt 'Artikel nicht über Kasse' befinden sich noch Einträge." & Chr(10) & "Sollen
___diese Einträge jetzt gelöscht werden?", vbYesNo)
Case vbYes
Call Tagesabschluss_start
End Select
If Worksheets("Preise").Cells(29, 1).Value = "" Then Exit Sub
Sheets("Preise").Select
Select Case MsgBox("Es ist noch eine Rabattaktion aktiv." & Chr(10) & " Soll diese
___jetzt gelöscht werden?", vbYesNo)
Case vbYes
Call clear_rabatt
End Select
Sheets("Start").Select
Range("E13").Select
End Sub
----------
Für Eure Hilfe bin ich sehr dankbar!
lg,
Ralf-Eckhard
Anzeige
AW: zu früh gefreut ... :-)
21.04.2006 22:57:10
Mustafa
Hallo Andi,
If Worksheets("Artikel nicht über Kasse").Cells(28, 1).Value = "" Then Exit Sub
Diese Zeile prüft ob im Tabellenblatt "Artikel nicht über Kasse" in der Zelle A28 ein Wert ist. Falls dort kein Wert steht, dann führst du ein Exit sub aus was das Makro beendet.
Versuch es mal mit :
If Worksheets("Artikel nicht über Kasse").Cells(28, 1).Value "" Then
ab hier dein Code.
Ausserdem muss dann die zweite If Abfrage nach dem End If der ersten If Anweisung stehen, sonst würde diese bei nicht Erfüllung der ersten If Anweisung wieder nicht ausgeführt werden.
Rückmeldung obs hilft wäre nett
Viele Grüße aus Köln
Anzeige

261 Forumthreads zu ähnlichen Themen


Guten Morgen,
leider ist mein Betreff etwas unglücklich formuliert, aber ich weiß nicht, wie ich mein Problem in wenigen Worten zusammen fassen soll:
In VBA nutze ich eine If Then Anweisung. Ist die Bedingungen erfüllt, so soll er mehrer Schritte abarbeiten. Aber wie sage ich ihm, daß...
Anzeige

Hallo Forum,
ich bräuchte eure Hilfe. Ich möchte folgendes erreichen:
wenn in spalte B "Ja"/"Nein" reingeschrieben wird, soll Excel die Zeile entsprechend einfärben (Grün/gelb). Das ist an sich noch gar nicht das Problem. In Spalte C wird ebenfalls eine Ja/Nein-Abfrage erwartet, so da...

Hallo liebe Excel - Freunde,
Wollte erstmal sagen, dass ich das Forum ganz toll finde. Hat mir als Einsteiger schon den ein oder anderen Tipp gegeben.
Nun habe ich ein spezifisches Problem, bei dem ich einfach nicht weiterkomme. Ich hoffe ihr könnte mir dabei ein bisschen helfen.
Ic...
Anzeige

Hallo Excelprofis
Ich habe 2 Spalten. In der 1. befinden sich Zahlen und in der 2. Namen.
Welche Formel muss ich verwenden, wenn ich die Anzahl Zahlen in der Spalte A ermitteln will, die grösser als 2 und kleiner als 6 sind und in der Spalte B der Name Meier steht.
Ich bin mal bis...

Hallo Leute,
irgendwie komme ich nicht weiter. Ich möchte eine ZÄHLENWENN()-Funktion mit mehreren Bedingungen erstellen, scheitere aber kläglich daran. Ich möchte eigentlich nur Zählen, wenn in Spalte B und C und D etwas steht. Das Ganze von Zeile 20 bis 269.
Mal als Beispiel, in Zelle...

Hallo Leute,
brauche bei einer Funktion Eure Hilfe.
Spalte F steht die Dienstart, z.B. VD, B, RB usw.
Spalte W steht die Stundenanzahl ohne Pausenabzug
Ich möchte jetzt folgendes berechnen:
WENN(UND(F2="VD";W2 kleiner als 6);W2;WENN(UND(F2="VD";W2 kleiner als 9);W2-0,5;W...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige