Google Tabellen-Makros

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

Wenn Sie ein Makro aufzeichnen, wird in Google Tabellen automatisch eine Apps Script-Funktion (die Makrofunktion) erstellt, die die Makroschritte repliziert. Die Makrofunktion wird einem Apps Script-Projekt hinzugefügt, das mit dem Tabellenblatt verknüpft ist, in einer Datei mit dem Namen macros.gs. Falls dem Tabellenblatt bereits eine Projektdatei mit diesem Namen zugewiesen ist, wird die Makrofunktion an diese angehängt. In Google Tabellen wird auch automatisch das Manifest des Scriptprojekts aktualisiert. Dabei werden der Name und die Tastenkombination erfasst, die dem Makro zugewiesen sind.

Da jedes aufgezeichnete Makro vollständig in Apps Script definiert ist, können Sie es direkt im Apps Script-Editor bearbeiten. Sie können Makros sogar in Apps Script von Grund auf neu schreiben oder bereits geschriebene Funktionen 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 mit der Tabelle verknüpfte Script 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 Script-Manifest, um das Makro zu erstellen und mit der Makrofunktion zu verknüpfen. Weisen Sie ihm eine eindeutige Tastenkombination und einen Namen zu.
  4. Speichern Sie das Script-Projekt. Das Makro kann dann im Tabellenblatt verwendet werden.
  5. Testen Sie die Makrofunktion im Tabellenblatt, um sicherzustellen, dass sie wie gewünscht funktioniert.

Makros bearbeiten

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

  1. Wählen Sie in Google Tabellen Erweiterungen > Makros > Makros verwalten aus.
  2. Suchen Sie das Makro, das Sie bearbeiten möchten, und wählen Sie > Makro bearbeiten aus. Dadurch wird der Apps Script-Editor mit der Projektdatei geöffnet, die die Makrofunktion enthält.
  3. Bearbeiten Sie die Makrofunktion, um das Makroverhalten zu ändern.
  4. Speichern Sie das Script-Projekt. Das Makro kann dann im Tabellenblatt verwendet werden.
  5. Testen Sie die Makrofunktion im Tabellenblatt, um sicherzustellen, dass sie wie gewünscht funktioniert.

Funktionen als Makros importieren

Wenn bereits ein Skript an ein Tabellenblatt gebunden ist, können Sie eine Funktion im Script als neues Makro import und ihm dann eine Tastenkombination zuweisen. Dazu bearbeiten Sie die Manifestdatei und fügen der Property sheets.macros[] ein weiteres Element hinzu.

Alternativ können Sie eine Funktion auch über die Google Tabellen-Benutzeroberfläche als Makro importieren:

  1. Wählen Sie in der Google Tabellen-Benutzeroberfläche Erweiterungen > Makros > Importieren aus.
  2. Wählen Sie eine Funktion aus der Liste aus und klicken Sie 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. Hier können Sie auch den Makronamen ändern. Standardmäßig ist dies der Name der Funktion.
  6. Klicken Sie auf Aktualisieren, um die Makro-Konfiguration zu speichern.

Manifeststruktur für Makros

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

  {
    ...
    "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 Manifesten für Google Tabellen-Makros finden Sie in der Manifestressource für Google Tabellen-Makros.

Best Practices

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

  1. Makros sind leistungsfähiger, wenn sie schlanker sind. Begrenzen Sie nach Möglichkeit die Anzahl der Aktionen, die ein Makro ausführt.
  2. Makros eignen sich am besten für Routinevorgänge, die häufig wiederholt werden müssen und nur wenig oder gar keine Konfiguration erfordern. Für andere Vorgänge können Sie stattdessen einen benutzerdefinierten Menüpunkt verwenden.
  3. Makroverknüpfungen müssen immer eindeutig sein. In einer bestimmten Tabelle können jeweils nur zehn Makros mit Verknüpfungen vorhanden sein. Zusätzliche Makros können nur über das Menü Erweiterungen > Makros ausgeführt werden.
  4. Makros, die Änderungen an einer einzelnen Zelle vornehmen, 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 oft nicht erforderlich, Makros zu erstellen, die denselben Vorgang in einem vordefinierten Zellenbereich duplizieren.

Was mit Google Assistant nicht geht

Es gibt einige Einschränkungen, was Sie mit Makros tun können:

Makros außerhalb gebundener Scripts verwenden

Makros werden in Scripts definiert, die an bestimmte Google-Tabellen gebunden sind. Makrodefinitionen werden ignoriert, wenn sie in einem eigenständigen Script oder einer Web-App definiert sind.

Makros in Google Sheets-Add-ons definieren

Makrodefinitionen können nicht über ein Google Tabellen-Add-on verteilt werden. Alle Makrodefinitionen in einem Add-on-Projekt in Google Tabellen werden von Nutzern dieses Add-ons ignoriert.

Makros in Scriptbibliotheken verteilen

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

Makros außerhalb von Google Tabellen verwenden

Makros sind nur in Google Tabellen verfügbar und nicht in Google Docs, Google Formulare oder Google Präsentationen.