Clever-Excel-Forum

Normale Version: Code mit Bedingung ausführen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich möchte dass die geöffnete Excel-Datei nur den Code ausführt, wenn der Dateiname NICHT "Datei1.xlsm" ist, sonst soll der nachfolgende Code ausgeführt werden.

Das wäre mein Ansatz, geht aber leider so nicht:

DIM WB as Object

IF WB.Name = "Datei.XLSM" Then
Exit Sub
Else

CODE......


Ist so was möglich ?

Wer kann helfen ?
Hallöchen,

statt = dann <>
Hallo,

nein, ich möchte nicht wissen, wozu so etwas gebraucht wird.

Es könnte so gehen (ungeprüft)

Code:
sub test()
if thisworkbook.name = "Datei1.xlsm" then exit sub
'weiterer Code
end sub

mfg
... und wb musst Du natürlich mit irgendwas belegen ...
Der Exit Sub Teil ist unnötig, wenn du die von André vorgeschlagenen Operatoren "<>" (ungleich) verwendest.
Hallo, 
was meinst du mit wb belegen ?

Hab das mal mit beiden Varianten probiert, hat aber leider bisher nicht gefunzt. Bei der Variante mit "<>" führt er mir den nachfolgenden Code garnicht aus, denn wenn ich im Code den Dateinamen ändere,
führt er den Code danach nicht aus. Also mach er immer Exit Sub, egal was für ein Dateiname im Code steht.
Vielen Dank für die Hilfe ! Es funktioniert jetzt ! DANKE
Hallöchen,

Code:
DIM WB as Object
IF WB.Name = "Datei.XLSM" Then

Zwischen den beiden Zeilen fehlt noch was. Was verbirgt sich denn hinter WB? Nimm mal WB in die Überwachung, führe das Makro schrittweise aus und schaue, was da kommt.

Wenn Du eine Datei öffnest ist die nach dem Öffnen die aktive. Wenn Du bei Deiner Variante bleiben willst, dann wäre es so korrekt:

Code:
DIM WB as Object
Set WB = ActiveWorkbook
IF WB.Name = "Datei.XLSM" Then 'oder <> statt =

Oder eben, wenn der Code in der Mappe steht, die Du da öffnest, geht auch ThisWorkbook - siehe der andere Vorschlag.

Wenn in Deinem Ansatz CODE ausgeführt werden soll, wenn der Name Datei.XLSM ist, dann sollte es mit <> passen
Wenn Du bei Datei.XLSM Exit Sub ausführen willst, dann mit =

Vorteilhaft wäre, wenn Du Groß/Kleinschreibung ignorierst. Dann wäre der Code z.B.

IF Ucase(WB.Name) = "DATEI.XLSM" Then 'oder <> statt =

(gilt dann bei meinem und dem anderen Vorschlag Smile )