Hallo Leute,
ich habe mir in VBA ein Excel-Makro gebastelt (hätte ich ins Excel-Forum posten müssen?), das aus einer elend langen Tabelle (A) automatisch mehrere Pivot-Tabellen erstellt.
Das Problem ist nicht groß, aber für mich als relativer Anfänger schwierig zu erklären:
Ich möchte, dass ein neues Tabelle (B) geöffnet wird, dann wird die A geöffnet, alle belegten Zellen markiert und in die Zwischenablage kopiert. Dann soll diese Zwischenablage in B kopiert werden.
Wie selektiere ich nun wieder elegant die (neue und ungespeicherte) Tabelle B?
Sie wird ja dann Mappe.xls genannt. Der Code zum aktivieren des Arbeitsblatts sähe dann wie folgt aus:
Windows("Mappe.xls").Activate
Aber wenn ein anderer Nutzer zufällig schon ein ungespeichertes Dokument geöffnet hat, heisst sie bei ihm Mappe01 o.ä. und ich bekomme nen Runtime Error.
Ich hab es jetzt erstmal so gelöst, dass ich die Tabelle B mit einem Dummynamen speichere und sie dann im Code so auswähle:
Windows(".xls").Activate
Aber dann wird der Nutzer beim Schließen nur gefragt, ob er die Datei speichern möchte oder nicht. Er weiß aber nicht mal, wo sie liegt und findet sie nicht oder nur mit Glück. Ich würde gern, dass nach dem Klicken auf „Ja“ der selbe Dialog aufgeht, als ob man ne ungespeicherte Datei schließt. Also dass der Nutzer dann noch mal explizit Pfad und Dateiname angeben muss.
Wenn es irgendwie möglich ist, ohne die Dummydatei auszukommen, wär das super!