Aktive Mappe schließen ohne zu speichern

Vor einiger Zeit hatte ich folgende Frage:
ich brauche dringend einen VBA-Code zum schließen - ohne
speichern - einer Arbeitsmappe,
jedoch bevor schließen soll Zelle A1 einer anderen - bereits
geöffneten - Arbeitsmappe (Tabelle1) angesteuert werden.

Reinhard stellte diese Lösung zur Verfügung:

Sub Fin()
Application.Goto Workbooks(„AndereMappe.xls“).Worksheets(„Tabelle1“).Range(„A1“)
ThisWorkbook.Close savechanges:=False
End Sub

Gruß Reinhard

Allerdings wird Excel beendet, wenn die „andere“ angesteuerte Mappe, die einzig geöffnete Mappe ist. Es soll jedoch diese andere geöffnete Mappe weiter bearbeitet werden. Excel also nicht schließen.
Nervt einfach, die Anwendung immer wieder neu öffenen zu müssen.

Hat jemand einen Lösung. Das wäre supi. Schon mal DANK im Voraus!

Hallo Theda,

ich brauche dringend einen VBA-Code zum schließen - ohne
speichern - einer Arbeitsmappe,
jedoch bevor schließen soll Zelle A1 einer anderen - bereits
geöffneten - Arbeitsmappe (Tabelle1) angesteuert werden.
Reinhard stellte diese Lösung zur Verfügung:

immer bin ich der Böse :frowning: :smile:)

Application.Goto Workbooks(„AndereMappe.xls“).Worksheets(„Tabelle1“).Range(„A1“)
ThisWorkbook.Close savechanges:=False

Allerdings wird Excel beendet, wenn die „andere“ angesteuerte
Mappe, die einzig geöffnete Mappe ist.

Das glaube ich nicht. Der Code springt wie verlangt zu der „anderen“ Mappe und schließt die Mappe in der er steht.
Daß die Excel-Instanz „verschwindet“ kann nur geschehen wenn
die „andere“ Mappe die Mappe ist in der der Code steht und may be die einzige Mappe der Instanz ist.

Es soll jedoch diese
andere geöffnete Mappe weiter bearbeitet werden. Excel also
nicht schließen.

Mir grad unklar was da vorliegt.

Gruß
Reinhard

Hey Reinhard,

danke, dass du dich meldest! Bist natürlich nicht der Böse!
Wollte nur deutlich machen, dass der Code nicht von mir ist, da ich leider immer noch unwissend in VBA bin, deshalb habe ich deinen Namen erwähnt.

Tatsächlich wird nach Ausführen in ca. 3 von 5 Fällen die Anwendung geschlossen.
Zur Erläuterung „AndereMappe“ enthält div. Hyperlinks. Ist das evtl. die Ursache?

Habe es jetzt für mich gelöst, indem ich „AndereMappe“ (die also zur Bearbeitung zur Verfügung stehen soll) mit einer weiteren (Hilfs-)Mappe als Arbeitsbereich öffne, so dass mindestens 2 Mappen in Excel geöffnet sind.

So funktioniert das Makro!
Lieben Gruß Theda

Hallo Theda,

danke, dass du dich meldest! Bist natürlich nicht der Böse!

*erleichtert bin* :smile:

Tatsächlich wird nach Ausführen in ca. 3 von 5 Fällen die
Anwendung geschlossen.

Sorry Lady, ich bin nicht sehr diplomatisch und sage mal ich glaube dir das nicht.
WENN wie ich es beschrieben habe im Moment der Codeausführung
die Mappe mit dem Code offen ist UND eine andere wohin der Code „hüpft“ so sehe ich immer noch nicht den geringsten Grund warum dann die Excelinstanz geschlossen werden sollte.

Was ich machen kann ist, den Code ergänzen soadß er nur dann „hüpft“
wenn es eine zweite geöffntete Mappe gibt.
Ansonsten, ich bin wahrlich nicht allwissend, may be ich mache einen Denkfehler und du hast Recht und ich übersehe etwas.

Zur Erläuterung „AndereMappe“ enthält div. Hyperlinks. Ist das
evtl. die Ursache?

Kann ich mir nicht vorstellen. So ein Hyperlink „hüpft“ irgendwo hn aber schließt kein Excel.

Habe es jetzt für mich gelöst, indem ich „AndereMappe“ (die
also zur Bearbeitung zur Verfügung stehen soll) mit einer
weiteren (Hilfs-)Mappe als Arbeitsbereich öffne, so dass
mindestens 2 Mappen in Excel geöffnet sind.

Du hast die mappe in der der Code steht, dann die ANdreMappe und dann noch die Hilfsmappe?
Das sind drei Mappen.

Vielleicht haben wir zwei ein Kommunikationsproblem oder sonstiges,
wir brauchen jetzt wohl einen bestens ausgebildeten schweizer
Problemdolmetscher und -Löser *gg*

Gruß
Reinhard

Grüezi Theda

Tatsächlich wird nach Ausführen in ca. 3 von 5 Fällen die
Anwendung geschlossen.
Zur Erläuterung „AndereMappe“ enthält div. Hyperlinks. Ist das
evtl. die Ursache?

Nein, das kann ich mir nicht vorstellen - der Code und der Ablauf sollten soweit ich das beurteilen kann eigentlich passen.

Habe es jetzt für mich gelöst, indem ich „AndereMappe“ (die
also zur Bearbeitung zur Verfügung stehen soll) mit einer
weiteren (Hilfs-)Mappe als Arbeitsbereich öffne, so dass
mindestens 2 Mappen in Excel geöffnet sind.

So funktioniert das Makro!

Interssant.
Was passiert wenn Du das Ganze nur mit diesem Code in einer neuen leeren Mappe mal aufbaust?
Ist da das Verhalten anders oder bleibt die ‚andere Mappe‘ dann immer geöffnet?

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Guten Tag Thomas,

vielen Dank, dass du dich in der Sache meldest. Habe deinen Rat befolgt, und das zu Hause umgesetzt, in Version Office 2007. Siehe da, Ablauf wie beabsichtigt.

In der Dienststelle arbeite ich mit Excel 2010 allerdings im Kompatibilitätsmodus, da ich die Arbeitsmappe (die zur Bearbeitung geöffnet beleiben soll)für User mit älteren Versionen erstellt habe. Da Ablauf wie schon beschrieben.

Vielleicht hast du einen anderen Vorschlag für: Speichern-Abfrage der zu schließenden Mappe unterdrücken und ansteuern Zelle xx der zu bearbeitenden Mappe.

Liebe Grüße in die Schweiz!

Grüezi Theda

vielen Dank, dass du dich in der Sache meldest. Habe deinen
Rat befolgt, und das zu Hause umgesetzt, in Version Office
2007. Siehe da, Ablauf wie beabsichtigt.

Na, das beruhigt mich ja schon mal :smile:

In der Dienststelle arbeite ich mit Excel 2010 allerdings im
Kompatibilitätsmodus, da ich die Arbeitsmappe (die zur
Bearbeitung geöffnet beleiben soll)für User mit älteren
Versionen erstellt habe. Da Ablauf wie schon beschrieben.

Vielleicht spielt das der Kompatibilitätsmodus noch eine Rolle, kann ich im Moment nicht schlüssig sagen.

Vielleicht hast du einen anderen Vorschlag für:
Speichern-Abfrage der zu schließenden Mappe unterdrücken und
ansteuern Zelle xx der zu bearbeitenden Mappe.

Da gibt es eigentlich nichts anderes, als was Du von Reinhard erhalten hast. Allenfalls könnte man das .Goto ersetzen mit .Select oder .Activate. Im Grunde der Dinge ändert das meiner Ansicht nach aber nichts.

Ev. noch eine kurze Pause machen zwischen dem Wechsel und dem Schliessen der Mappe?

Alternativ wäre es auch denkbar, eine Steuer-Mappe zu haben (kann ein AddIn sein), aus der heraus alle Befehle verwaltet und abgeschickt werden.
Dann hat die einzelne Mappe selbst keinen VBA-Code mehr drin.

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

In der Dienststelle arbeite ich mit Excel 2010 allerdings im
Kompatibilitätsmodus, da ich die Arbeitsmappe (die zur
Bearbeitung geöffnet beleiben soll)für User mit älteren
Versionen erstellt habe. Da Ablauf wie schon beschrieben.

Vielleicht spielt das der Kompatibilitätsmodus noch eine
Rolle, kann ich im Moment nicht schlüssig sagen.

Grüezie Thomas,

wieso sollte man für 2010 das Kompatibilitätspaket installieren?
Ich ging davon aus das brauche ich z.B. für Excel 2000!?

PS: einige Beitragsfolgen hier drunter ist eine lange Folge von Karin.
Die Folge bittet um einen Freuflug in’s Word-Brett.

Gruß
Reinhard

Grüezi Reinhard

In der Dienststelle arbeite ich mit Excel 2010 allerdings im
Kompatibilitätsmodus, da ich die Arbeitsmappe (die zur
Bearbeitung geöffnet beleiben soll)für User mit älteren
Versionen erstellt habe. Da Ablauf wie schon beschrieben.

Vielleicht spielt das der Kompatibilitätsmodus noch eine
Rolle, kann ich im Moment nicht schlüssig sagen.

wieso sollte man für 2010 das Kompatibilitätspaket
installieren?
Ich ging davon aus das brauche ich z.B. für Excel 2000!?

Du verwechselst das zwei Dinge… :wink:

Für Mappen die im neuen xls… Format gespeichert sind brauchen die Versionen 2003 und älter das Compatibility-Paket um sie öffnen und bearbeiten zu können.

Ist eine Mappe im .XLS-Format gespeichert wird sie ab xl2007 automatisch im Kompatibilitätmodus geöffnet (das wird auch im Fenster-Titel so angezeigt).
Und das ist es, was Theda hier vermutlich meint.

PS: einige Beitragsfolgen hier drunter ist eine lange Folge
von Karin.
Die Folge bittet um einen Freuflug in’s Word-Brett.

Der Bitte wurde Folge geleistet… :smile:

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo Thomas,

danke für deine Anregung!

Deine Vermutzung bzgl. meiner Aussage Kompatibilität Vers.2010 und älteren VErsionen möchte ich bestätigen.

Liebe Grüße Theda

Grüezie Thomas,

wieso sollte man für 2010 das Kompatibilitätspaket
installieren?
Ich ging davon aus das brauche ich z.B. für Excel 2000!?

Du verwechselst das zwei Dinge… :wink:

UNMÖGLICH ist das bei mir keinesfalls, bin dafür prädistiniert :smile:

Für Mappen die im neuen xls… Format gespeichert sind
brauchen die Versionen 2003 und älter das Compatibility-Paket
um sie öffnen und bearbeiten zu können.

Übereinstimmung.

Ist eine Mappe im .XLS-Format gespeichert wird sie ab xl2007
automatisch im Kompatibilitätmodus geöffnet (das wird auch im
Fenster-Titel so angezeigt).
Und das ist es, was Theda hier vermutlich meint.

Aha, fiel mir nicht auf, möglicherweise hatte ich so eine xls noch nicht oder hab das übersehen bzw. nicht beachtet obwohl ich es sah.

Zur Anfrage, ich habe einen Arbeitsbereich oder wie das heißt angelegt, also zwei Mappen als eine xlw gespeichert.
Auch da bleibt wenn ich die xl w öffnete und eine der Mappen per (meinem) Code schließe die andere und Excel erhalten.

Wenn also das was Theda beschreibt auch nichts mit dem Kompatibiltätsmodus zu tun hat (was ich derzeit ohne Tests annehme)
so bin ich echt gespannt wodran dieses Verhalten von Excel liegt.

Die Folge bittet um einen Freuflug in’s Word-Brett.

„Freuflug“?
Ui, war zwar echt ein Vertippsler aber ich find Freuflug klingt
super. Gleich mal Werbefirmen anrufen und fragen was sie zahlen für
eine geniale Idee wie sie ihre Werbung mit Freiflug-Angeboten
gewaltig toppen können.

grüessdi
Reinhard