hi,
ich möchte eine doppelte If-Abfrage durchführen:
1. If Worksheets("Calc3").Range("C106") = 1 Then
2. Und wenn sie WAHR ist, dann soll der Code von For bis Exit For ausgeführt werden.
3. Im Umkehrschluß, soll wenn Range("C106") nicht 1 ist, eine MsgBox ausgegben werden: "Exportieren erst möglich, wenn genau 1ne Gruppe angegeben wird!"
4. Wenn die 1. If-Abfrage WAHR ist & die For bis Exit nicht zu weiter: springt, dann soll Next ausgeführt werden, also MsgBox "Ich bin im Next"
Variante 1:
Hier gibt es keine Fehlermeldung wenn C106 0 ist, jedoch taucht auch keine Messagebox auf. Nur ActiveWorkbook.Save wird ausgeführt.
Variante 2:
Hier gibt es keine Fehlermeldung wenn C106 0 ist, jedoch taucht auch keine Messagebox auf. Nur ActiveWorkbook.Save wird ausgeführt.
Variante 3:
Hier gibt es keine Fehlermeldung wenn C106 0 ist, jedoch taucht auch keine Messagebox auf. Nur ActiveWorkbook.Save wird ausgeführt.
Variante 4:
Hier kommt in gelb markiert die 1. Zeile des Codes und folgende Fehlermeldung: Fehler beim Kompilieren. If-Block ohne End-If.
Theoretisch muß das VBA doch irgendwie können. Der Fehler liegt sicherlich bei mir. Nur wo? Variante 3 sollte meiner Meinung nach am nahesten an der Lösung sein.
lieben Dank
Julia :)
ich möchte eine doppelte If-Abfrage durchführen:
1. If Worksheets("Calc3").Range("C106") = 1 Then
2. Und wenn sie WAHR ist, dann soll der Code von For bis Exit For ausgeführt werden.
3. Im Umkehrschluß, soll wenn Range("C106") nicht 1 ist, eine MsgBox ausgegben werden: "Exportieren erst möglich, wenn genau 1ne Gruppe angegeben wird!"
4. Wenn die 1. If-Abfrage WAHR ist & die For bis Exit nicht zu weiter: springt, dann soll Next ausgeführt werden, also MsgBox "Ich bin im Next"
Variante 1:
Code:
Sub Erstellen()
Dim vorherWorkbook As Workbook
ActiveWorkbook.Save
If Worksheets("Calc3").Range("C106") = 1 Then
For Each x In Workbooks
If x.Name = Worksheets("Calc3").Range("B109").Value & "Z" & ".xlsm" Then
MsgBox "Datei ist noch geöffnet! Bitte die Datei: " & Worksheets("Calc3").Range("B109").Value & "Z" & ".xlsm" & " schließen & erneut probieren!"
GoTo weiter
Exit For
End If
If Worksheets("Calc3").Range("C106") = 0 Then
MsgBox "Exportieren erst möglich, wenn genau 1ne Gruppe angegeben wird!"
Exit Sub
End If
Next
MsgBox "Ich bin im Next"
weiter:
End If
End Sub
Variante 2:
Code:
Sub Erstellen()
Dim vorherWorkbook As Workbook
ActiveWorkbook.Save
If Worksheets("Calc3").Range("C106") = 1 Then
For Each x In Workbooks
If x.Name = Worksheets("Calc3").Range("B109").Value & "Z" & ".xlsm" Then
MsgBox "Datei ist noch geöffnet! Bitte die Datei: " & Worksheets("Calc3").Range("B109").Value & "Z" & ".xlsm" & " schließen & erneut probieren!"
GoTo weiter
Exit For
Else
If Worksheets("Calc3").Range("C106") = 0 Then
MsgBox "Exportieren erst möglich, wenn genau 1ne Gruppe angegeben wird!"
Exit Sub
End If
End If
Next
MsgBox "Ich bin im Next"
End If
weiter:
End Sub
Variante 3:
Code:
Sub Erstellen()
Dim vorherWorkbook As Workbook
ActiveWorkbook.Save
If Worksheets("Calc3").Range("C106") = 1 Then
For Each x In Workbooks
If x.Name = Worksheets("Calc3").Range("B109").Value & "Z" & ".xlsm" Then
MsgBox "Datei ist noch geöffnet! Bitte die Datei: " & Worksheets("Calc3").Range("B109").Value & "Z" & ".xlsm" & " schließen & erneut probieren!"
GoTo weiter
Exit For
Else
MsgBox "Exportieren erst möglich, wenn genau 1ne Gruppe angegeben wird!"
Exit Sub
End If
Next
MsgBox "Ich bin im Next"
End If
weiter:
End Sub
Variante 4:
Code:
Dim vorherWorkbook As Workbook
ActiveWorkbook.Save
If Worksheets("Calc3").Range("C106") = 1 Then
For Each x In Workbooks
If x.Name = Worksheets("Calc3").Range("B109").Value & "Z" & ".xlsm" Then
MsgBox "Datei ist noch geöffnet! Bitte die Datei: " & Worksheets("Calc3").Range("B109").Value & "Z" & ".xlsm" & " schließen & erneut probieren!"
GoTo weiter
Exit For
End If
End If
If Worksheets("Calc3").Range("C106") = 0 Then
MsgBox "Exportieren erst möglich, wenn genau 1ne Gruppe angegeben wird!"
Exit Sub
End If
Next
MsgBox "Ich bin im Next"
weiter:
End Sub
Theoretisch muß das VBA doch irgendwie können. Der Fehler liegt sicherlich bei mir. Nur wo? Variante 3 sollte meiner Meinung nach am nahesten an der Lösung sein.
lieben Dank
Julia :)