1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Makros aus Excel-Vorlage in Arbeitsmappe

Discussion in 'Office-Programme' started by tetrododoxin, Jul 28, 2009.

Thread Status:
Not open for further replies.
  1. tetrododoxin

    tetrododoxin Kbyte

    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.
     
  2. Urs2

    Urs2 Megabyte

    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
     
  3. tetrododoxin

    tetrododoxin Kbyte

    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.
     
  4. Urs2

    Urs2 Megabyte

    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
     
  5. Beverly

    Beverly Halbes Megabyte

    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.
     
  6. tetrododoxin

    tetrododoxin Kbyte

    Kurz gesagt, es handelt sich bei mir um eine XLT-Datei, meintest Du die?
     
  7. Urs2

    Urs2 Megabyte

    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
     
  8. Urs2

    Urs2 Megabyte

    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
     
Thread Status:
Not open for further replies.

Share This Page