Alle Arbeitsmappen außer der aktiven Mappe schließen
|
Autor |
Nachricht |
Kellerkind1981
Formelfanatiker (nutzt VBA nur im Notfall)
Verfasst am: 05. März 2009, 12:00 Rufname: Andi
Wohnort: RV
|
|
Version: Office 2003 |
|
Hallo Zusammen,
hab mal wieder ein Problem. Desöfteren habe ich einige Arbeitsmappen (Excel-Dateien) parallel geöffnet. Nun möchte ich alle Mappen schließen, außer der gerade aktiven Mappe. Ich habe da auch im WWW schon mal was gefunden:
Code: |
Sub Schliessen()
Dim wkb As Workbook
For Each wkb In Workbooks
If wkb.Name <> ThisWorkbook.Name Then
wkb.Close savechanges:=False
End If
Next wbk
End Sub
|
Nun ist es allerdings so, dass der Code alle Mappen schließt, auch die aktive Mappe. Könnt Ihr mir bei der Fehlersuche helfen oder habt Ihr gar einen ganz andern Ansatz?
Danke schon mal für eure Hilfe.
Gruß
Andi
|
|
NichtTerminal
Codewarrior

Verfasst am: 05. März 2009, 12:07 Rufname:
|
| |
Version: Office 2003 |
|
Kellerkind1981 - 05. März 2009, 11:00 hat folgendes geschrieben: | Hallo Zusammen,
hab mal wieder ein Problem. Desöfteren habe ich einige Arbeitsmappen (Excel-Dateien) parallel geöffnet. Nun möchte ich alle Mappen schließen, außer der gerade aktiven Mappe. Ich habe da auch im WWW schon mal was gefunden:
Code: |
Sub Schliessen()
Dim wkb As Workbook
For Each wkb In Workbooks
If wkb.Name <> ThisWorkbook.Name Then
wkb.Close savechanges:=False
End If
Next wbk
End Sub
|
Nun ist es allerdings so, dass der Code alle Mappen schließt, auch die aktive Mappe. Könnt Ihr mir bei der Fehlersuche helfen oder habt Ihr gar einen ganz andern Ansatz?
Danke schon mal für eure Hilfe.
Gruß
Andi |
Hallo Andi
Hast du diese Sub in deine persönliche (versteckte) Arbeitsmappe kopiert? Dann bezieht sich ThisWorkbook doch auf diese und alle sichtbaren geöffneten Arbeitsmappen werden geschlossen.
Probier mal lieber ActiveWorkbook anstatt ThisWorkbook.
Code: |
Sub Schliessen()
Dim wkb As Workbook
For Each wkb In Workbooks
If wkb.Name <> ActiveWorkbook.Name Then
wkb.Close savechanges:=False
End If
Next wbk
End Sub
|
Viele Grüße NT.
_________________ name and conquer, 2, 32, 88, 139
|
|
Kellerkind1981
Formelfanatiker (nutzt VBA nur im Notfall)
Verfasst am: 05. März 2009, 12:13 Rufname: Andi
Wohnort: RV
|
|
Version: Office 2003 |
|
Hi NT,
danke für die rasche Antwort. Ich habe obiges Sub in meiner PERSONL.XLS eingebettet. Hab nun auch mal deinen Ansatz versucht. Nun schließt sich bei mir allerdings eben diese PERSONL.XLS - und alle anderen Arbeitsmappen bleiben geöffnet...
|
|
NichtTerminal
Codewarrior

Verfasst am: 05. März 2009, 12:21 Rufname:
|
|
Version: Office 2003 |
|
Kellerkind1981 - 05. März 2009, 11:13 hat folgendes geschrieben: | Hi NT,
danke für die rasche Antwort. Ich habe obiges Sub in meiner PERSONL.XLS eingebettet. Hab nun auch mal deinen Ansatz versucht. Nun schließt sich bei mir allerdings eben diese PERSONL.XLS - und alle anderen Arbeitsmappen bleiben geöffnet... |
Mein Fehler
Du musst natürlich auch ThisWorkbook ausschließen:
Code: | Sub Schliessen()
Dim wkb As Workbook
For Each wkb In Workbooks
If (wkb.Name <> ActiveWorkbook.Name) And (wkb.Name <> ThisWorkbook.Name) Then
wkb.Close savechanges:=False
End If
Next wkb
End Sub |
Viele Grüße NT.
_________________ name and conquer, 2, 32, 88, 139
|
|
Kellerkind1981
Formelfanatiker (nutzt VBA nur im Notfall)
Verfasst am: 05. März 2009, 13:24 Rufname: Andi
Wohnort: RV
|
|
Version: Office 2003 |
|
Super, hat geklappt.
Vielen Dank
|
|
hoffinger77
Gast
Verfasst am: 02. Okt 2013, 14:50 Rufname:
|
| |
Version: Office 2003 |
|
Ich habe den Code verwendet und er funktioniert soweit sehr gut.
Sub Schliessen()
Dim wkb As Workbook
For Each wkb In Workbooks
If (wkb.Name <> ActiveWorkbook.Name) And (wkb.Name <> ThisWorkbook.Name) Then
wkb.Close savechanges:=False
End If
Next wkb
End Sub
Nun mein Problem.
Ich öffne per Makro eine Datei und automatisch ein Userform der zuöffenden Datei.
Drücke ich jetzt den Button soll er den geposteten Code ausführen.
Da jetzt die neu geöffnete Datei aktiv ist, schließt der Code die urspüngliche Datei.
Das ist auch so gewollt und gut.
Allerdings soll nach ausführen des Codes das Userform offen bleiben bzw neu aufgerufen werden.
Das funktioniert leider nicht. HILLLFE
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum nicht posten Du kannst Dateien in diesem Forum herunterladen
|
|
|
Verwandte Themen |
Forum / Themen |
Antworten |
Autor |
Aufrufe |
Letzter Beitrag |
 |
Excel Formeln: Wenn-dann Formel anwenden und in zweite Mappe kopieren |
28 |
SiMaRu |
1523 |
28. Nov 2010, 04:22 a3e  |
 |
Excel Formeln: Kopieren von Werte in eine ander Mappe |
3 |
Günter24 |
189 |
18. Nov 2010, 09:35 {Boris}  |
 |
Excel Formeln: Automatisches ausfüllen von Zellen/Zeilen aus einer Mappe |
13 |
Annemarie |
604 |
25. Okt 2010, 11:28 Annemarie  |
 |
Excel Formeln: Verknüpfung zweier Arbeitsmappen |
2 |
Bijou |
799 |
09. Jun 2010, 08:47 bijou  |
 |
Excel Formeln: Richtige Formel für Excel Sheet mit zwei Arbeitsmappen |
2 |
jkmaxell |
1830 |
02. Jun 2010, 17:15 jkmaxell  |
 |
Excel Formeln: Datenaustausch von 2 Arbeitsmappen (Verknüpfung) |
6 |
Noraia |
2372 |
21. Feb 2010, 20:14 Noraia  |
 |
Excel Formeln: in einer mappe mehrere zusammenfügen? |
1 |
egon22e |
313 |
29. Jul 2009, 10:00 Gast  |
 |
Excel Formeln: Summenberechnung über zwei Arbeitsmappen mit Bedingungen |
5 |
Snipergod |
290 |
12. März 2009, 19:00 Snipergod  |
 |
Excel Formeln: Mappenzahl in der Nächsten mappe übernehmen. |
2 |
John23 |
302 |
21. Okt 2008, 11:08 John23  |
 |
Excel Formeln: Aktiven Zellinhalt ausgeben |
2 |
Nobby_R. |
2568 |
20. Aug 2008, 15:37 Gast  |
 |
Excel Formeln: Zelleninhalte in anderen Arbeitsmappen löschen |
1 |
atdsv |
310 |
03. Aug 2008, 21:31 Raimund  |
 |
Excel Formeln: Lücken schließen |
4 |
nice2cu |
899 |
12. Apr 2008, 21:51 Janni 07  |
|
|