Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Code mit Bedingung ausführen
#1
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 ?
Antworten Top
#2
Hallöchen,

statt = dann <>
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
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
Antworten Top
#4
... und wb musst Du natürlich mit irgendwas belegen ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
Der Exit Sub Teil ist unnötig, wenn du die von André vorgeschlagenen Operatoren "<>" (ungleich) verwendest.
Schöne Grüße
Berni
Antworten Top
#6
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.
Antworten Top
#7
Vielen Dank für die Hilfe ! Es funktioniert jetzt ! DANKE
Antworten Top
#8
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 )
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste