Willkommen im PC-Welt-Forum
Liebe Leser,
Wenn dies Ihr erster Besuch hier ist, lesen Sie bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Sie müssen sich vermutlich registrieren, bevor Sie Beiträge verfassen können. Klicken Sie rechts auf 'Jetzt registrieren.', um den Registrierungsprozess zu starten.
Wenn dies Ihr erster Besuch hier ist, lesen Sie bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Sie müssen sich vermutlich registrieren, bevor Sie Beiträge verfassen können. Klicken Sie rechts auf 'Jetzt registrieren.', um den Registrierungsprozess zu starten.
Ergebnis 1 bis 8 von 8
-
28.07.2009, 14:25 #1
Kbyte
- Registriert seit
- 07.2006
- Ort
- Leipzig
- Beiträge
- 294
Makros aus Excel-Vorlage in Arbeitsmappe
Hola,
irgendwie stehe ich auf dem Schlauch. Ich habe ein Excel-Template, das Makros zum Initialisieren enthält. Klappt auch. Der Punkt ist, dass diese Makros auch immer auf das neue Dokument übertragen werden. Die Arbeitsmappen, die aus diesem Template entstehen, sollen aber die Startmakros nicht enthalten.
Kann ich das irgendwie beeinflussen? Müssen die Makros an ganz bestimmten Stellen eingefügt werden und nicht unter: VBAProject->Microsoft Excel Objects->This Workbook ??
Danke schonmal.
-
28.07.2009, 15:29 #2
Megabyte
- Registriert seit
- 06.2006
- Beiträge
- 1.907
Nein, Automakros müssen ja in ThisWorkbook/DieseArbeitsmappe stehen.
Den Unterordner Microsoft Excel Objects kenne ich allerdings nicht (Excel2003)...
Wenn eine Kopie der Vorlage als neue Arbeitsmappe gemacht wird, sind diese Makros dort natürlich auch drin.
Wenn nur die einzelnen Arbeitsblätter in eine NeueMappe kopiert werden, sind dort nur die Makros in den Blättern drin.
Gruss Urs
-
28.07.2009, 15:33 #3
Kbyte
- Registriert seit
- 07.2006
- Ort
- Leipzig
- Beiträge
- 294
Also hieße das: nein? Man kann kein Template mit Makros basteln, ohne dass diese in das neue Workbook übernommen werden?
Bei Word funktioniert das nämlich witzigerweise.
-
29.07.2009, 02:30 #4
Megabyte
- Registriert seit
- 06.2006
- Beiträge
- 1.907
Vielleicht verstehe ich Dich ja falsch...
...aber was Du hast, ist keine Vorlage, sondern eine Vorlage, die eine Vorlage machen soll...
Beim Verwenden der Vorlage erscheint diese als normale XLS*-Datei in Excel.
Deine Automakros führen dann gewisse Operationen aus (Datum, Zeit setzen usw)
Die Makros sind natürlich drin, sonst hätten sie ja nicht ausgeführt werden können.
Und jetzt?
Versuche es mal so >
Eine Vorlage wie gehabt, mit den Makros (eine ganz gewöhnliche XLS/XLSM reicht dafür)
wenn die Makros Deine Arbeit getan haben (aber nicht speichern) kommen noch Zusatzbefehle >
Worksheets("BlattA").Copy
...oder wenn die Mappe mehrere Blätter enthält...
Worksheets(Array("BlattA", "BlattB", "BlattC").Copy
>> so werden nur die Blätter (mit den ggf. in ihnen enthalten Makros) in eine neue Mappe kopiert.
Die Makros in einem Modul oder unter ThisWorkbook werden nicht kopiert.
Jetzt kannst Du diese neue Mappe auch speichern mit >
ActiveWorkbook.SaveAs...............
Und dann die Vorlage ohne zu speichern schliessen mit >
ThisWorkbook.Close SaveChanges:=False
Gruss Urs
-
29.07.2009, 11:10 #5
Hi,
schreibe deine Makros in die Personl.xls (oder erstelle in AddIn) und belasse die Vorlage ohne Markos. Du kannst auch einfach eine zweite Arbeitsmappe sozusagen als "Masterarbeitsmappe mit den Makros" verwenden.Bis später,
Karin
-
29.07.2009, 11:54 #6
Kbyte
- Registriert seit
- 07.2006
- Ort
- Leipzig
- Beiträge
- 294
-
29.07.2009, 15:27 #7
Megabyte
- Registriert seit
- 06.2006
- Beiträge
- 1.907
Probieren hilft oft...
(Mit Add-Ins kenne ich mich nicht aus)
Die XLT erlaubt den Usern, diese über "Neu > diese Vorlage" auszuwählen.
Was der User aber auf seinem PC dann hat, ist eine ganz gewöhnliche XLS.
Wenn Du meine 2 (oder mit Speichern der neuen Mappe = 3) Zeilen im Automakro in der XLT anhängst, erhält der User zuerst eine XLS als Kopie der Vorlage mit den Makros.
Aus dieser werden die Blätter aber sofort ohne Automakros in eine neue Mappe kopiert...
...und die zuerst angezeigte XLS-Mappe mit den Automakros wird dann gleich vernichtet.
Gruss Urs
-
29.07.2009, 18:41 #8
Megabyte
- Registriert seit
- 06.2006
- Beiträge
- 1.907
Hallo Kugelfischgift,
In meiner Zeile mit dem Array in Beitrag 4, ist übrigens eine Klammer verdampft, richtig ist >
Worksheets(Array("BlattA", "BlattB", "BlattC")).Copy
...aber dass einer geöffneten Klammer immer eine geschlossene folgen muss, wirst Du ja sicher auch festgestellt haben...
Gruss Urs
12

Zitieren

Lesezeichen