Google Tabellen-Makros

In Google Sheets können Sie Makros aufzeichnen, die eine bestimmte Reihe von UI-Interaktionen duplizieren, die Sie definieren. 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 wiederholen, in der Regel an einer anderen Stelle oder mit anderen 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 mit dem Tabellenblatt verknüpft ist, in einer Datei mit dem Titel macros.gs. Falls bereits eine Projektdatei mit diesem Namen mit dem Tabellenblatt verknüpft ist, wird die Makrofunktion angehängt. Google Sheets aktualisiert auch automatisch das Manifest des Skriptprojekts und erfasst den Namen und die Tastenkombination, die dem Makro zugewiesen wurden.

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 auch 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 dazu ist, eine vorhandene Funktion aus dem Google 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 mit dem Tabellenblatt verknüpfte Skript im Apps Script-Editor zu öffnen.
  2. Schreiben Sie die Makrofunktion. Makrofunktionen sollten keine Argumente verwenden und keine Werte zurückgeben.
  3. Bearbeiten Sie Ihr 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 gewünscht 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 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 gewünscht funktioniert.

Funktionen als Makros importieren

Wenn bereits ein Skript mit einem Tabellenblatt verknüpft ist, können Sie eine Funktion im Skript als neues Makro importieren und ihr dann eine Tastenkombination zuweisen. Bearbeiten Sie dazu die Manifestdatei und fügen Sie der Eigenschaft sheets.macros[] ein weiteres Element hinzu.

Alternativ können Sie so eine Funktion über die Google Sheets-Benutzeroberfläche als Makro 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 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. Sie können hier auch den Makronamen ä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 Snippet der Manifestdatei zeigt den Abschnitt eines Manifests, in dem Google Sheets Makros definiert sind. Im Abschnitt sheets des Manifests werden der Name und die Tastenkombination definiert, die dem Makro zugewiesen wurden, sowie der Name der Makrofunktion.

Manifeste enthalten weitere Komponenten, die sich auf Apps Script-Eigenschaften beziehen. Die Felder unter dem Schlüssel sheets beziehen sich direkt auf die Google Sheets-Funktionalität. 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 Google Sheets-Makromanifesten finden Sie in der Ressource zu Google Sheets-Makromanifesten.

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. Beschränken 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 ohne Konfiguration wiederholt werden müssen. Für andere Vorgänge sollten Sie stattdessen ein benutzerdefiniertes Menüelement verwenden.
  3. Makro-Tastenkombinationen müssen immer eindeutig sein. Ein bestimmtes Tabellenblatt kann maximal zehn Makros mit Tastenkombinationen enthalten. Alle zusätzlichen 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 Zellbereich angewendet werden. Wählen Sie dazu zuerst den gesamten Bereich aus und aktivieren Sie dann das Makro. Daher ist es oft nicht erforderlich, Makros zu erstellen, die denselben Vorgang in einem vordefinierten Zellbereich wiederholen.

Einschränkungen

Es gibt einige Einschränkungen bei der Verwendung von Makros:

Makros außerhalb gebundener Skripts verwenden

Makros werden in Skripts definiert, die an bestimmte Tabellenblätter gebunden sind. Makro definitionen werden ignoriert, wenn sie in einem eigenständigen Skript oder Webanwendung definiert sind.

Makros in Google Workspace-Add-ons für Google Sheets definieren

Sie können Makrodefinitionen nicht über ein Google Workspace-Add-on für Google Sheets 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.