Google Tabellen-Makros

In Google Sheets können Sie Makros aufzeichnen, die eine bestimmte Reihe von UI-Interaktionen, die Sie definieren, duplizieren. Nachdem Sie ein Makro aufgezeichnet haben, können Sie es mit einer Tastenkombination im Format Ctrl+Alt+Shift+Number verknüpfen. Mit dieser Tastenkombination können Sie die genauen 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 Sheets aktivieren.

Wenn Sie ein Makro aufzeichnen, erstellt Google Tabellen automatisch eine Apps Script-Funktion (die Makrofunktion), die die Makroschritte nachbildet. Die Makrofunktion wird einem Apps Script-Projekt hinzugefügt, das an das Tabellenblatt gebunden ist, in einer Datei mit dem Titel macros.gs. Falls bereits eine Projektdatei an das Tabellenblatt mit diesem Namen gebunden ist, wird die Makrofunktion daran angehängt. Außerdem wird das Manifest des Skriptprojekts automatisch aktualisiert und der Name und die Tastenkombination des Makros werden darin gespeichert.

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 von Grund auf in Apps Script schreiben oder bereits geschriebene Funktionen in Makros umwandeln.

Makros in Apps Script erstellen

Sie können in Apps Script geschriebene Funktionen als Makrofunktionen verwenden. Eine einfache Möglichkeit hierfür ist, eine vorhandene Funktion aus dem Sheets-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 Sheets-Benutzeroberfläche Erweiterungen > Apps Script aus, um das an die Tabelle gebundene Skript im Apps Script-Editor zu öffnen.
  2. Makrofunktion schreiben Makrofunktionen sollten keine Argumente verwenden 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 kann dann im Tabellenblatt verwendet werden.
  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 Sheets-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 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 Skriptprojekt. Das Makro kann dann im Tabellenblatt verwendet werden.
  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 Skript als neues Makro importieren und ihr dann eine Tastenkombination zuweisen. Dazu bearbeiten Sie die Manifestdatei und fügen der Eigenschaft sheets.macros[] ein weiteres Element hinzu.

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

  1. Wählen Sie in der Sheets-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. Sie können den Makronamen auch hier ändern. Standardmäßig wird der Name der Funktion verwendet.
  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 Sheets-Makros definiert werden. Im Abschnitt sheets des Manifests werden der Name und die Tastenkombination definiert, die dem Makro zugewiesen sind, sowie der Name der Makrofunktion.

Manifeste enthalten andere Komponenten, die sich auf Apps Script-Eigenschaften beziehen. Die Felder unter dem Schlüssel sheets beziehen sich direkt auf die Funktionen von Google Tabellen. Dieses Beispiel ist nur ein Teil einer vollständigen Manifestdatei und kein voll funktionsfähiges Manifest.

{
  ...
  "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 Sheets-Makro-Manifesten finden Sie in der Ressource für Sheets-Makro-Manifeste.

Best Practices

Beachten Sie beim Erstellen oder Verwalten von Makros in Apps Script die folgenden Richtlinien:

  1. Makros sind leistungsfähiger, wenn sie schlank 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 mit wenig oder gar keiner Konfiguration wiederholt werden müssen. Für andere Vorgänge sollten Sie stattdessen ein benutzerdefiniertes Menüelement verwenden.
  3. Makrotastenkombinationen müssen immer eindeutig sein. In einem bestimmten Tabellenblatt können maximal zehn Makros mit Tastenkombinationen vorhanden sein. Zusätzliche Makros können nur über das Menü Erweiterungen > Makros ausgeführt werden.
  4. Makros, mit denen Änderungen an einer einzelnen Zelle vorgenommen werden, können auf einen Zellbereich 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 für einen vordefinierten Zellbereich wiederholen.

Was mit Google Assistant nicht geht

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

Makros außerhalb gebundener Skripts verwenden

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

Makros in Google Workspace-Add‑ons für Google Tabellen definieren

Sie können Makrodefinitionen nicht über ein Google Workspace-Add‑on für Google Tabellen verteilen. Alle Makrodefinitionen in einem Sheets-Add-on-Projekt werden von Nutzern dieses Add-ons ignoriert.

Makros in Skriptbibliotheken verteilen

Sie können Makrodefinitionen nicht über Apps Script-Bibliotheken verteilen.

Makros außerhalb von Google Tabellen verwenden

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