Google Tabellen-Makros

In Google Tabellen können Sie Makros aufzeichnen, die eine bestimmte Reihe von definierten UI-Interaktionen duplizieren. Nachdem Sie ein Makro aufgezeichnet haben, können Sie es mit einem Tastenkürzel im Format Ctrl+Alt+Shift+Number verknüpfen. Mit dieser Tastenkombination können Sie genau die Makroschritte schnell noch einmal ausführen, in der Regel an einer anderen Stelle oder für andere Daten. Sie können das Makro auch über das Menü Erweiterungen > Makros in Google Tabellen aktivieren.

Wenn Sie ein Makro aufnehmen, erstellt Google Tabellen automatisch eine Apps Script-Funktion (die Makrofunktion), die die Makroschritte repliziert. Die Makrofunktion wird einem Apps Script-Projekt hinzugefügt, das an das Tabellenblatt gebunden ist und in einer Datei namens macros.gs vorliegt. Falls bereits eine Projektdatei mit diesem Namen an das Tabellenblatt gebunden ist, wird die Makrofunktion an die Tabelle angehängt. Google Tabellen aktualisiert auch automatisch das Manifest des Skriptprojekts, wobei der Name und die dem Makro zugewiesene Tastenkombination aufgezeichnet wird.

Da jedes aufgezeichnete Makro vollständig in Apps Script definiert wird, können Sie es direkt im Apps Script-Editor bearbeiten. Sie können in Apps Script sogar Makros von Grund auf neu schreiben oder Funktionen, die Sie bereits geschrieben haben, in Makros umwandeln.

Makros in Apps Script erstellen

Sie können in Apps Script geschriebene Funktionen als Makrofunktionen verwenden. Am einfachsten ist es, eine vorhandene Funktion aus dem Google Tabellen-Editor zu importieren.

Alternativ können Sie Makros im Apps Script-Editor erstellen. Gehen Sie dazu so vor:

  1. Wählen Sie in der Google Tabellen-Benutzeroberfläche Erweiterungen > Apps Script aus, um das an das Tabellenblatt gebundene Skript im Apps Script-Editor zu öffnen.
  2. Schreiben Sie die Makrofunktion. Makrofunktionen sollten keine Argumente annehmen und keine Werte zurückgeben.
  3. Bearbeiten Sie das Skriptmanifest, um das Makro zu erstellen und mit der Makrofunktion zu verknüpfen. Weisen Sie ihm eine eindeutige Tastenkombination und einen eindeutigen Namen zu.
  4. Speichern Sie das Skriptprojekt. Das Makro steht dann zur Verwendung im Tabellenblatt zur Verfügung.
  5. Testen Sie die Makrofunktion im Tabellenblatt, um zu prüfen, ob sie wie vorgesehen funktioniert.

Makros bearbeiten

So bearbeiten Sie Makros, die an ein Tabellenblatt angehängt sind:

  1. Wählen Sie in der Google Tabellen-Benutzeroberfläche Erweiterungen > Makros > Makros verwalten aus.
  2. Suchen Sie das Makro, das Sie bearbeiten möchten, und wählen Sie > Makro bearbeiten aus. Dadurch wird im Apps Script-Editor die Projektdatei geöffnet, die die Makrofunktion enthält.
  3. Bearbeiten Sie die Makrofunktion, um das Makroverhalten zu ändern.
  4. Speichern Sie das Skriptprojekt. Das Makro steht dann zur Verwendung im Tabellenblatt zur Verfügung.
  5. Testen Sie die Makrofunktion im Tabellenblatt, um zu prüfen, ob sie wie vorgesehen funktioniert.

Funktionen als Makros importieren

Wenn bereits ein Skript an ein Tabellenblatt gebunden ist, können Sie eine Funktion in das Skript als neues Makro import und ihr dann eine Tastenkombination zuweisen. Dazu bearbeiten Sie die Manifestdatei und fügen dem Attribut sheets.macros[] ein weiteres Element hinzu.

Alternativ können Sie folgendermaßen eine Funktion als Makro aus der Benutzeroberfläche von Google Tabellen importieren:

  1. Wählen Sie in der Google Tabellen-Benutzeroberfläche Erweiterungen > Makros > Importieren aus.
  2. Wählen Sie eine Funktion aus der angezeigten Liste aus und klicken Sie dann auf Funktion hinzufügen.
  3. Wählen Sie aus, um das Dialogfeld zu schließen.
  4. Wählen Sie Erweiterungen > Makros > Makros verwalten aus.
  5. Suchen Sie in der Liste nach der Funktion, die Sie gerade importiert haben. Weisen Sie dem Makro eine eindeutige Tastenkombination zu. Sie können hier auch den Makronamen ändern. Der Name ist standardmäßig der Name der Funktion.
  6. Klicken Sie auf Aktualisieren, um die Makrokonfiguration zu speichern.

Manifeststruktur für Makros

Das folgende Beispiel-Snippet für eine Manifestdatei zeigt den Abschnitt eines Manifests, in dem Google Tabellen-Makros definiert werden. Der Abschnitt sheets des Manifests definiert den Namen und die Tastenkombination, die dem Makro zugewiesen sind, sowie den Namen der Makrofunktion.

  {
    ...
    "sheets": {
      "macros": [{
        "menuName": "QuickRowSum",
        "functionName": "calculateRowSum",
        "defaultShortcut": "Ctrl+Alt+Shift+1"
      }, {
        "menuName": "Headerfy",
        "functionName": "updateToHeaderStyle",
        "defaultShortcut": "Ctrl+Alt+Shift+2"
      }]
    }
  }

Weitere Informationen zum Erstellen von Tabellen-Makromanifesten finden Sie in der Tabelle zum Makromanifest in Google Tabellen.

Best Practices

Beim Erstellen oder Verwalten von Makros in Apps Script sollten Sie die folgenden Richtlinien beachten.

  1. Makros sind leistungsstärker, wenn sie schlank sind. Begrenzen Sie wenn möglich die Anzahl der Aktionen, die ein Makro ausführt.
  2. Makros eignen sich am besten für Routinevorgänge, die häufig mit geringer oder keiner Konfiguration wiederholt werden müssen. Für andere Vorgänge sollten Sie stattdessen einen benutzerdefinierten Menüpunkt verwenden.
  3. Denken Sie immer daran, dass Makro-Tastenkombinationen eindeutig sein müssen und ein Tabellenblatt nur zehn Makros mit Tastenkombinationen enthalten darf. Alle weiteren Makros lassen sich nur über das Menü Erweiterungen > Makros ausführen.
  4. Makros, mit denen Änderungen an einer einzelnen Zelle vorgenommen werden, können auf einen Zellenbereich angewendet werden. Dazu müssen Sie zuerst den gesamten Bereich auswählen und dann das Makro aktivieren. Daher ist es häufig nicht nötig, Makros zu erstellen, die denselben Vorgang in einem vordefinierten Zellenbereich duplizieren.

Was mit Google Assistant nicht geht

Bei der Verwendung von Makros gelten einige Einschränkungen:

Makros außerhalb gebundener Skripts verwenden

Makros werden in Skripts definiert, die an bestimmte Google-Tabellen gebunden sind. Makrodefinitionen werden ignoriert, wenn sie in einem eigenständigen Skript oder einer Webanwendung definiert sind.

Makros in Google Tabellen-Add-ons definieren

Makrodefinitionen lassen sich nicht mit einem Google Tabellen-Add-on verteilen. Makrodefinitionen in einem Google Tabellen-Add-on-Projekt werden von Nutzern dieses Add-ons ignoriert.

Makros in Skriptbibliotheken verteilen

Makrodefinitionen können nicht mit Apps Script-Bibliotheken verteilt werden.

Makros außerhalb von Google Tabellen verwenden

Makros sind nur eine Funktion in Google Tabellen und gibt es nicht für Google Docs, Google Formulare und Google Präsentationen.