Sie arbeiten bereits seit Längerem mit Excel und sind vermutlich mit VBA vertraut – dem bisherigen Standard für Automatisierungen in Excel. Mit dem Wandel hin zur Cloud-Nutzung verlagert Microsoft den Fokus jedoch zunehmend auf moderne Tools wie Office Scripts und Power Automate, die speziell für die Online-Version von Excel entwickelt wurden.

Wenn Sie die neuen Möglichkeiten von Excel im Web kennenlernen möchten, ist dieser Artikel genau das Richtige für Sie.
In dieser Anleitung erfahren Sie, wie diese Tools funktionieren, wie sie miteinander interagieren und was Sie bei der Automatisierung praxisnaher Aufgaben erwartet.

Excel-Inventur mit Office-Skripten

Warum von VBA abrücken?

VBA funktioniert nur auf dem Desktop und ist nicht einsatzfähig bei cloudbasierte Workflows. Es ist für die Desktop-Nutzung konzipiert. Power Automate und Office-Skripts sind für die Verwendung in Excel Online und Microsoft 365 konzipiert. Sie sind auf Sicherheit, Echtzeit-Zusammenarbeit und Serviceintegration ausgelegt.

Was sind Office-Skripte?

Office Scripts ist eine Funktion von Excel Web, die es Ihnen ermöglicht, Aufgaben mit TypeScript-Code zu automatisieren. Ihre Aktivitäten innerhalb des Arbeitsblatts, wie das Formatieren von Zellen und das Aktualisieren von Daten, können aufgezeichnet werden, und Excel generiert ein Skript, das Sie später erneut ausführen können. Office Script erleichtert das Wiederholen von Aktivitäten, das Aufräumen von Daten und das Erstellen grundlegender Workflows, und es funktioniert viel besser, wenn es mit Power Automate integriert ist.

Was Sie mit Office-Skripten tun können:

  • Automatisieren Sie Formatierungen, Tabellen oder Berichte.
  • Starten Sie Skripte mit Schaltflächen.
  • Verwenden Sie Workflows erneut, ohne jedes Mal neuen Code schreiben zu müssen.

Was es nicht kann:

  • Es werden keine Desktopfunktionen unterstützt.
  • Es kann nicht auf lokale Dateien zugegriffen oder E-Mails gesendet werden.
  • Es gibt keine integrierten Benutzerformulare oder Popup-Schnittstellen.

Praxisbeispiel:

Ziel: Erstellen Sie eine Inventurliste mit Excel Online.

Einrichtung:

  • Eingabefelder für Name, Preis und Menge
  • Eine Tabelle (dataTable) mit Spalten für bestelltes Spielzeug, Preis, Menge, Kosten, Rabatt und Gesamtkosten.
  • Ein Skript-Button mit der Bezeichnung „Hinzufügen“ löst die Automatisierung aus.
Abbildung 1.0 – Tabellen- und Eingabeeinführungslayout

 

Schnelle Einrichtung:

Schritt 1: Erstellen Sie Eingabefelder für „Bestelltes Spielzeug“, „Preis“ und „Menge“.

FIgure 1.1 - Assigning Inputs fields to help the script.
Abbildung 1.1 – Zuweisen von Eingängen.

Schritt 2: Erstellen Sie die Datentabelle und nennen Sie sie „dataTable“ (oder einen beliebigen Namen).

Figure 1.2 - Creating a Table
Abbildung 1.2 – Erstellen einer Tabelle

Schritt 3: Wenden Sie Formeln auf die Spalten „Kosten“, „Rabatt“ und „Endkosten“ an. Sie können gerne eigene Formeln für diese Aktivität hinzufügen. Folgen Sie dazu einfach der Formel im Bild.

Figure 1.3 - Inserting Custom Formulas in the Table
Abbildung 1.3 – Einfügen benutzerdefinierter Formeln in die Tabelle

Schritt 4: Navigieren Sie zur Registerkarte „Automatisieren“ und suchen Sie nach „Neues Skript“. Auf der rechten Seite der Excel-Tabelle wird ein Fenster mit dem Namen „Code-Editor“ angezeigt.

Figure 1.4 - Navigate Office Scripts
Abbildung 1.4 – Navigieren in Office-Skripten

 

Schritt 5: Benennen Sie das Skript „Hinzufügen“ und speichern Sie das Skript.

Figure 1.5 - Editing and Saving Office Script
Abbildung 1.5 – Bearbeiten und Speichern eines Office-Skripts

Schritt 6: Diese Funktion einfügen

function main(workbook: ExcelScript.Workbook) {
// Get the active worksheet
const sheet = workbook.getActiveWorksheet();

// Get the named input values
const toyName = sheet.getRange("toyName").getValue();
const price = sheet.getRange("price").getValue();
const quantity = sheet.getRange("quantity").getValue();

// Validate inputs
if (!toyName || price === null || quantity === null || isNaN(Number(price)) || isNaN(Number(quantity))) {
console.log("❌ Error: Please fill in all fields with valid values - toyName, price, and quantity.");
return;
}

// Get the data table and add the row
const dataTable = sheet.getTable("dataTable");
dataTable.addRow(-1, [
toyName,
price,
quantity,
'=PRODUCT([@[Q. Ordered]],[@[Price Each]])',
'=IF([@[Q. Ordered]]=1, 0, IF([@[Q. Ordered]]=2, [@Cost]*0.1, [@Cost]*0.15))',
'=[@Cost]-[@Discount]'
]);

console.log(`✅ Success: Added "${toyName}" to dataTable.`);

// Clear the input fields
sheet.getRange("toyName").setValue("");
sheet.getRange("price").setValue("");
sheet.getRange("quantity").setValue("");

console.log("ℹ️ Input fields cleared and ready for the next entry.");
}

 

Und so funktioniert es:

  1. Liest die Eingabe
  2. Prüft auf leere Werte
  3. Fügt eine neue Zeile mit den Daten hinzu
  4. Verwendet Excel-Formeln zum Berechnen von Summen
  5. Formular leeren und Feedback geben

Fazit

Dieses Setup ermöglicht Ihnen eine schnelle Anmeldung ohne Formulare oder separate Apps. Es zeigt auch, wie Office-Skripte das app-ähnliche Verhalten in Excel Online nachahmen können. Für Aufgaben wie E-Mails oder mehrstufige Prozesse müssen Sie es mit Power Automate koppeln. Lesen Sie diesen Artikel zur Verwendung von Office-Skripten und Power Automate.

Benötigen Sie einen Microsoft 365-Programmierer?

Wir als exact construct programmieren mit einem Team von rd. 20 Mitarbeitern seit über 10 Jahren Excel-Tools. Wir sind ein Nischenanbieter der spezialisiert auf Makros/VBA-Codes sowie generell Microsoft-Produkte ist. Daneben unterstützen wir auch als 3rd Level Support die IT-Abteilungen rund um Probleme bei MS Office (Excel, Word, PowerPoint, etc.).
Haben Sie ein Excel-Problem? Benötigen Sie einen Programmierer? Rufen Sie uns unverbindlich an +41 52 511 05 25 oder kontaktieren Sie uns via Kontaktformular.

 

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen