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 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 mit dem Tabellenblatt verknüpft ist, in einer Datei mit dem Namen macros.gs. Falls bereits eine Projektdatei mit diesem Namen an das Tabellenblatt gebunden ist, wird die Makrofunktion an diese Tabelle angehängt. In Google Tabellen wird auch automatisch das manifest des Scriptprojekts aktualisiert. Dabei werden der Name und die Tastenkombination aufgezeichnet, 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 an das Tabellenblatt gebundene Skript im Apps Script-Editor zu öffnen.
  2. Makrofunktion schreiben 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 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 im Script als neues Makro import und ihm dann eine Tastenkombination zuweisen. Dazu bearbeiten Sie die Manifestdatei und fügen dem Attribut 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 Google Tabellen 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. 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 ein Manifestdatei-Snippet zeigt den Abschnitt eines manifest, 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. Je schlanker ein Makro ist, desto leistungsfähiger ist es. 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 häufig nicht nötig, 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 Skript oder einer Webanwendung 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 über 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.