Office: (Office 2019) Makro-Vorlagedatei

Helfe beim Thema Makro-Vorlagedatei in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich habe zahlreiche Excel-Dokumente mit komplett identischen Makros (Urlaubsscheine). Wenn ich jetzt am Code entwas ändere, muss ich... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von woerli, 4. März 2021.

  1. woerli Erfahrener User

    Makro-Vorlagedatei


    Hallo,

    ich habe zahlreiche Excel-Dokumente mit komplett identischen Makros (Urlaubsscheine).
    Wenn ich jetzt am Code entwas ändere, muss ich logischerweise jede Datei einzeln öffnen und den entsprechenden Code ändern. Daher hätte ich gerne eine zentrale Datei, in der alle Funktionen gespeichert sind. Geht so etwas?

    Ich vermute, bestimmte Dinge müssen in der jeweiligen Urlaubsscheindatei drin sein (Variablendefinition, Funktionen für einzelne Schaltflächen). Aber alle anderen Funktionen kann ich doch bestimmt auslagern... Die Frage ist nun, wie verweise ich auf eine Funktion in einer anderen Datei?

    Oder gibt es in Excel direkt eine Möglichkeit, eine Art "Vorlage", aus der sich eine Excel-Datei beim öffnen ihre Makros holt, damit z.B. wirklich alles (inkl. Variablendefinition und Schaltflächenfunktionen) nur noch an einer zentralen Stelle auftauchen?

    Ich benötige dann nur noch diese Vorlage zu aktualisieren und alle Dokumente profitieren davon.

    Vielen Dank im Voraus!
     
    woerli, 4. März 2021
    #1
  2. DL_
    DL_ PowerQuery Guru
    Moin

    So viele Fragezeichen.

    Wofür benötigt man bei einem Urlaubsschein Makros?
    Und warum müssen die Makros überhaupt geändert werden?
    Und wenn geändert werden muss warum dann auch die bereits abgelaufenen Urlaubsscheine?
    Warum überhaupt Excel und nicht Word?

    Erstelle ein Add-In.
     
  3. Beverly
    Beverly Erfahrener User
    Hi,

    du kannst eine "Master"-Arbeitsmappe erstellen, in der du alle die Makros ablegst die hin und wieder geändert werden müssen, sodass du sie nur einmal ändern musst. Aus den anderen Mappen kannst du sie dann entsprechend aufrufen - nach diesem Prinzip:

    Code:
    Sub MakroAndereArbeitsmappe()
        Application.Run ("MasterMappe.xlsm!Hallo")   '<== Name der Mappe mit den Makros sowie Makroname
    End Sub
    
    Bedingung ist natürlich, dass diese Master-Mappe geöffnet ist, aber das kann man natürlich vorher prüfen und sie bei Bedarf öffnen.
    Du musst allerdings bedenken, dass jeder, der die Makros über die Schaltflächen aufruft, diese Master-Mappe zur Verfügung haben muss.



    Makro-Vorlagedatei GrußformelMakro-Vorlagedatei Beverly's Excel - Inn
     
    Beverly, 4. März 2021
    #3
  4. woerli Erfahrener User

    Makro-Vorlagedatei

    Hi und danke für die sinnvolle Antwort @Beverly
    Ich konnte es erst jetzt testen und sehe da noch ein paar Probleme.

    Zunächst das Grundprinzip, wie ich es getestet habe:
    Eine Datei "Test.xlsm" dient als Eingabemaske, bestehend aus einer Schaltfläche zum starten einer Addition sowie zwei vorgegebenen Zahlen.
    Der Code in der Tabelle, welche die Zahlen enthält:
    Code:
    Dim x&, y&, z&
    
    Private Sub CommandButton1_Click()
    x = Cells(1, 2)
    y = Cells(1, 3)
    Application.Run ("MTest.xlsm!test")
    z = x + y
    Cells(1, 1) = z
    End Sub
    Die zweite Datei "MTest.xlsm" soll den Code enthalten. Dieser steht jetzt nicht in einer Tabelle, sondern direkt in "DieseArbeitsmappe":
    Code:
    Dim x&, y&, z&
    
    Sub test()
    z = x + y
    End Sub
    Ich öffne beide Dateien und bestätige, das Makros ausgeführt werden dürfen.
    Dennoch erhalte ich die Meldung, das Makro sei nicht verfügbar oder die Ausführung von Makros unterbunden.

    Unabhängig von dem grundelgenden Problem habe ich aber noch weitere Bedenken, ob ich mit der Variante zum Ziel kommen kann:

    1. Das "Masterdokument" mit den Makros muss mit geöffnet werden und je nach Sicherheitseinstellungen muss der User dort ebenfalls Makros jedes Mal bestätigen. Ich kann das alkso nicht automatisieren, sondern die User müssten immer beide Dokumente manuell öffnen.

    2. Die verschiebenen Funktione enthalten Formeln mit zahlreichen Variablen. Wenn ich im Masterdokument mit den Makros eine Funktion ausführe, die Werte aus "Cells(x,y)" verarbeiten soll, dann dürfte diese Funktion ja die lokalen Werte verwenden wollen. Ich müsste also explizit dazuschreiben, in welcher Mappe die Cells(x,y) sind, womit ich wieder bei einem Makro für jeden User und dessen Datei wäre.
    Alternativ muss ich alles komplett überarbeiten und einen Weg finden, wie ich alle notwendigen Variablen korrekt an die andere Mastermappe übergebe. Falls das denn geht?

    Direkt eine Art Vorlage wie im Word die Formatvorlagen, die sich im Hintergrund mit öffnen, gibt es nicht für diesen Zweck?
     
    woerli, 12. März 2021
    #4
  5. Exl121150 Erfahrener User
    Hallo,

    so wie man in Word Dateivorlagen in Dateien wie "*.dot", "*.dotx", "*.dotm" (z.B. "Normal.dot", "Normal.dotx", "Normal.dotm") speichern kann, so kann man dies auch in Excel machen:
    in Dateien mit Dateierweiterung "*.xlts", "*.xltx", "*.xltm" (zB. "Vorlage Aufmass2.xltm")
    Die Dateien mit "*.xlts" (altes binäres Format) und "*.xltm" (neues komprimiertes XML-Format) können auch VBA-Makros enthalten.

    Darüber hinaus gibt es mehrere Standardspeicherorte, die abgegrast werden, sobald du die Excel-Applikation startest.
    Diese Orte kannst du in den Excel-Optionen einstellen im Tabulator "Speichern" im Abschnitt "Arbeitsmappen speichern":
    "Lokaler Standardspeicherort für Dateien": Pfad für "normale" Arbeitsmappen
    "Standardspeicherort für persönliche Vorlagen": Hier kann man zB. die "PERSONAL.XLSB"-Datei ablegen, die im Hintergrund geöffnet wird. Ihre VBA-Funktionen und VBA-Makros hat man dann automatisch zur Verfügung, zusätzlich zur im Vordergrund geöffneten Excel-Datei. Wenn du einen Makro-Dialog startest (zB. mit Alt+F8) kannst du im Dialogfenster unter "Makros in:" die Orte angeben ("Alle offenen Arbeitsmappen"/ "Diese Arbeitsmappe"/ "PERSONAL.XLSB"/ "Mappe1"/ ...)
    "Dateispeicherort für AutoWiederherstellen": falls sich einmal eine Datei verabschiedet haben sollte.
    Ferner bekommst du im Optionen-Tabulator "Add-Ins" die Pfade für die vorhandenen Add-Ins, wobei der Typ "Excel-Add-In" auf Dateien mit Erweiterung ".xla" (alt) und ".xlam" (neuer komprimierter XML-Typ) verweist. Diese werden alle, wenn sie aktiv sind, auch automatisch geladen.
     
    Exl121150, 12. März 2021
    #5
  6. Auch wenn Du @DL_ (indirekt) eine sinnvolle Antwort absprichst, hat er Dir den entscheidenden Tipp gegeben:
    Dies erstellst Du in einem Ordner, in dem nur Du Schreibzugriff hast und erstellst einen Verweis in der zu erstellenden Excel-Vorlage.
    Der Anwender kann jetzt eine neue Datei auf Basis der Vorlage erstellen und das Add-In werkelt im Hintergrund.
    Du (als Admin) kannst es jederzeit im laufenden Betrieb aktualisieren, der Anwender bekommt davon nix mit und hat beim nächsten Öffnen aktuelle Makros.
    Aber das ist nichts für Anfänger und auch eher nichts für einen Workshop im Rahmen eines Foren-Threads.

    Gruß Ralf
     
  7. Beverly
    Beverly Erfahrener User
    Hi,

    Die Makros gehören nicht ins Codemodul DieseArbeitsmappe sondern in ein Standardmodul.

    Selbstverständlich ist das möglich - nach diesem Prinzip: Workbooks("DieseMappe.xlsm").Worksheets("Tabelle").Cells(1, 1)


    Makro-Vorlagedatei GrußformelMakro-Vorlagedatei Beverly's Excel - Inn
     
    Beverly, 12. März 2021
    #7
Thema:

Makro-Vorlagedatei

Die Seite wird geladen...
  1. Makro-Vorlagedatei - Similar Threads - Makro Vorlagedatei

  2. Makro Zip-Datei von Webseite runterladen, auspacken, kopieren

    in Microsoft Excel Hilfe
    Makro Zip-Datei von Webseite runterladen, auspacken, kopieren: Hallo Zusammen, ich habe ein Makro gefunden von dem ich denke, dass es koennen sollte was ich braeuchte, eine Datei herunterladen, auspacken und den Inhalt in die Datei kopieren in der das Makro...
  3. Makro für variable Anzahl von Datensätzen

    in Microsoft Excel Hilfe
    Makro für variable Anzahl von Datensätzen: Hallo zusammen, ich habe wieder einmal ein kleines Excel-Problem, bei dem Ihr mir sicherlich helfen könnt. Ich habe eine Excel-Liste, das ist ein Export aus einem anderen Programm (siehe...
  4. Makro aus personal.xls starten

    in Microsoft Excel Hilfe
    Makro aus personal.xls starten: Auf einem Arbeitsblatt habe ich mehrere Buttons. Die zugehörigen Makros sind in personal.xls gespeichert. Aus dem Code-Editor heraus kann ich die Makros ohne Problem starten. auf dem Arbeitsblatt...
  5. Dokumente und Blatt umbenennen

    in Microsoft Word Hilfe
    Dokumente und Blatt umbenennen: Ich lade mir jeden Tag csv-Dateien von meiner Bank herunter. Diese sind mit Datum versehen, also die Datei selbst und das erste Blatt, z.B. "Konto_13.02.2024". Wenn ich ein Makro erstelle, in dem...
  6. Speichern mit dem Titel der Zelle A2

    in Microsoft Excel Hilfe
    Speichern mit dem Titel der Zelle A2: Moin moin, Ich habe per Makro einen Arbeitsablauf aufgezeichnet der soweit auch funktioniert. Dieser Endet jedoch im "Speichern Unter" Fenster, welches durch das Klicken von "Drucken als PDF"...
  7. Barcode Scanliste Makro anpassen

    in Microsoft Excel Hilfe
    Barcode Scanliste Makro anpassen: Hallo zusammen! Einer der Mitglieder hier hat mir eine Funktionsliste erstellt, mit der man Barcodes scannt und danach einen Wert über die Bildschirmtastatur eingibt. Die Barcodes hatten bisher...
  8. Makro wird nicht angezeigt im Makro Auswahlfenster

    in Microsoft Excel Hilfe
    Makro wird nicht angezeigt im Makro Auswahlfenster: Hallo, wenn ich mein Makro ausführen möchte, öffnet sich das Makro Auswahlfenster. Allerdings wird das Makro nicht aufgelistet. Das Makro befindet sich in der PERSONAL.xlsb Arbeitsmappe. Die...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden