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 im Format Ctrl+Alt+Shift+Number verknüpfen. Mit dieser Tastenkombination können Sie die exakten Makroschritte schnell noch einmal ausführen, in der Regel an einer anderen Stelle oder mit anderen Daten. Sie können das Makro auch in Google Tabellen über das Menü Erweiterungen > Makros aktivieren.

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

Da jedes aufgezeichnete Makro vollständig in Apps Script definiert wird, 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, eine vorhandene Funktion aus dem Google Tabellen-Editor zu importieren.

Alternativ können Sie Makros im Apps Script-Editor erstellen, indem Sie die folgenden Schritte ausführen:

  1. Wählen Sie in der Benutzeroberfläche von Google Tabellen 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 Script-Manifest, um das Makro zu erstellen und mit der Makrofunktion zu verknüpfen. Weisen Sie ihr eine eindeutige Tastenkombination und einen eindeutigen Namen zu.
  4. Speichern Sie das Skriptprojekt. Das Makro kann dann in der Tabelle 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 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. Daraufhin 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 in der Tabelle verwendet werden.
  5. Testen Sie die Makrofunktion im Tabellenblatt, um zu prüfen, ob sie wie vorgesehen funktioniert.

Funktionen als Makros importieren

Ist bereits ein Script an ein Tabellenblatt gebunden, können Sie eine Funktion im Skript als neues Makro import und ihr dann ein Tastenkürzel zuweisen. Dazu können Sie die Manifestdatei bearbeiten und dem Attribut sheets.macros[] ein weiteres Element hinzufügen.

Alternativ können Sie 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 aus der Liste eine Funktion 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 die gerade importierte Funktion in der Liste. 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 sind. 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 Makros für Google Tabellen finden Sie in der Manifestressource für das Google Tabellen-Makro.

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 Routine-Vorgänge, die häufig mit geringer oder gar keiner Konfiguration wiederholt werden müssen. Für andere Vorgänge können Sie stattdessen einen benutzerdefinierten Menüpunkt verwenden.
  3. Die Tastenkombinationen für Makros müssen eindeutig sein und ein bestimmtes Tabellenblatt kann jeweils nur zehn Makros mit Tastenkombinationen enthalten. 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 Zellenbereich angewendet werden. Dazu müssen Sie zuerst den gesamten Bereich auswählen und dann das Makro aktivieren. Daher ist es häufig nicht erforderlich, Makros zu erstellen, mit denen der gleiche Vorgang in einem vordefinierten Zellenbereich dupliziert wird.

Was mit Google Assistant nicht geht

Es gibt einige Einschränkungen im Hinblick darauf, 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 Webanwendung definiert sind.

Makros in Add-ons für Google Tabellen definieren

Makrodefinitionen können nicht mit einem Add-on für Tabellen verteilt werden. Makrodefinitionen in einem Tabellen-Add-on-Projekt werden von Nutzern dieses Add-ons ignoriert.

Makros in Skriptbibliotheken verteilen

Makrodefinitionen können nicht mithilfe von 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 oder Google Präsentationen.