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 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 Sheets 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 mit diesem Namen an das Tabellenblatt gebunden ist, wird die Makrofunktion daran angehängt. In Google Tabellen wird auch automatisch das Manifest des Skriptprojekts aktualisiert und der Name und die Tastenkombination des Makros werden aufgezeichnet.

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. Am einfachsten ist es, wenn Sie eine vorhandene Funktion aus dem Google Tabellen-Editor 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 Google 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 für die Projektdatei mit der Makrofunktion geöffnet.
  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 Property 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 Google 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 Google 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.

  {
    ...
    "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

Wenn Sie Makros in Apps Script erstellen oder verwalten, sollten Sie die folgenden Richtlinien beachten.

  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 duplizieren.

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 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

Sie können Makrodefinitionen nicht über ein Sheets-Add-on verteilen. Alle Makrodefinitionen in einem Google 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 Sheets verwenden

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