NextLytics Blog

VBA im SAP Analytics Cloud Excel Add-in – Wir haben es ausprobiert

Geschrieben von David Nicolay | 26.06.2025 09:11:42

Mit dem Q2 Release 2025 hat SAP eine zentrale Funktion im SAP Analytics Cloud (SAC) Excel Add-in nachgeliefert, auf die viele Planungsverantwortliche und Excel-Power-User gewartet haben: VBA-Unterstützung.
VBA (Visual Basic for Applications) ist seit jeher ein zentraler Bestandteil der Excel-basierten Reporting-Tools wie dem BEx Analyzer und vor allem Analysis for Office (AfO). Besonders in Planungsworkbooks ist es gängige Praxis, relevante Funktionen über Buttons, Dropdowns oder andere UI-Elemente direkt per VBA-Makros anzusteuern. So lassen sich beispielsweise Planungsfunktionen auslösen und sogar parametrisieren. Auch Standardaktionen wie das Zurücksetzen von Eingaben oder das Speichern veränderter Werte können bequem per Makro gesteuert werden – ohne den Umweg über das Ribbon-Menü. Darüber hinaus ermöglicht VBA eine optimierte Benutzerführung, etwa durch individuell gestaltete MsgBoxen oder Pop-up-Bestätigungen. Diese Flexibilität fehlte dem SAC Add-in bislang. Mit dem aktuellen Release beginnt sich das zu ändern.

Das SAC Add-in ist das strategische Frontend für SAC Planning (inkl. Seamless Planning) und ermöglicht zudem den Zugriff auf analytische Modelle in Datasphere. AfO hingegen beschränkt sich im Planungsbereich ausschließlich auf klassische BW-basierte Planung und unterstützt in Bezug auf Datasphere lediglich die veralteten analytischen Datasets, die zukünftig keine Rolle mehr spielen sollen. In einem früheren Blogbeitrag haben wir die Unterschiede zwischen dem etablierten Analysis for Office und dem neueren SAC Excel Add-in bereits im Detail beleuchtet.

Technischer Blick auf die neue VBA-API

Das SAC Excel Add-in basiert vollständig auf Web-Technologien (JavaScript/HTML). Es wird nicht lokal installiert, sondern direkt über den Microsoft Store aktiviert. Technisch läuft das Add-in im Hintergrund in einem isolierten Browserkontext, im Gegensatz zur nativen COM-Integration von AfO.

Da die Laufzeitumgebungen voneinander getrennt sind, ist eine direkte Kommunikation zwischen VBA und dem Add-in nicht möglich. Stattdessen erfolgt der Austausch über eine asynchrone Nachrichtenübertragung. Für diesen Zweck stellt SAP eine zusätzliche Makro-Add-in-Datei namens SAPOFXLA.xlam sowie eine zugehörigen PDF-Dokumentation bereit, die aktuell nur über den SAP-Hinweis 3594453 runtergeladen werden können. Diese Datei fungiert als Brücke zwischen VBA und dem Web-Add-in und muss, anders als das SAC Add-in selbst, zwingend auf jedem Client-Rechner vorhanden und in der jeweiligen Excel-Arbeitsmappe eingebunden sein, damit die VBA-Integration überhaupt funktioniert. SAP empfiehlt eine zentrale Bereitstellung der Datei, z. B. über ein gemeinsames Netzlaufwerk oder Softwareverteilung.

Auch wenn unter Windows ein synchroner Aufruf der API möglich ist, funktioniert die API auf dem Mac nur asynchron, weshalb grundsätzlich die asynchrone Logik verwendet werden sollte. Dabei arbeitet man mit Callback-Mechanismen, was sich deutlich von der gewohnten Arbeitsweise in AfO unterscheidet. Die Kommunikation mit dem Add-in kann zudem verloren gehen, wenn die Logik im Debug-Modus angehalten ist oder die Systemauslastung hoch ist.

So sieht die API im Einsatz aus

Um die neue VBA-API besser kennenzulernen, haben wir unser kürzlich im Blog vorgestelltes Seamless Planning Demo-Modell auf Basis unserer NextJuice-Verkaufsdaten genutzt. Ziel war es, typische Planungslogiken direkt im SAC Excel Add-in abzubilden und dabei zu prüfen, wie sich diese über die neue API technisch umsetzen lassen.

Konkret ging es um folgende Schritte:

  • Initialisierung der Forecast-Version über eine Data Action
  • Filterung auf bestimmte Regionen und Perioden, für die anschließend die Absatzmenge geplant werden soll
  • Prozentuale Anpassung der Absatzmenge über eine weitere Data Action

Die Ausführung der Data Actions sollte über Pop-up-Fenster zunächst bestätigt werden. Im Anschluss soll je nach Ergebnis eine individuelle Erfolgs- oder Fehlermeldung erscheinen.

Im folgenden GIF sieht man, wie das zugehörige Planungs-Workbook gestaltet wurde. Es zeigt den Ablauf aus Anwendersicht, inklusive Buttons, Eingabefeldern und der geführten Benutzerinteraktion. Dabei kommt eine Kombination aus den im Add-in verfügbaren SAC-Formeln und ergänzender VBA-Logik zum Einsatz, deren Aufbau und Umsetzung wir im nächsten Abschnitt näher erläutern.


SAP Planungswerkzeuge im Vergleich -
Laden Sie sich hier das Whitepaper herunter!

 

Kombinierter Ansatz: SAC-Formeln und VBA-Makros

Bevor wir die VBA-Integration näher betrachten, lohnt sich ein Blick auf die bereits im Add-in verfügbaren SAP-Formeln, die ebenfalls wichtige Steuerungsfunktionen ermöglichen. So lassen sich mit Formeln wie SAP.BLOCK und SAP.ASYMMETRICFILTER gezielt Änderungen anstoßen oder Filter dynamisch setzen, z. B. für eine Rolling Forecast Ansicht (siehe Beispiel aus der SAP Community) die wir auch in unserer Planungstabelle nutzen. 

Für den Aufruf der Data Action zur Initialisierung der Forecast-Version haben wir ein VBA-Makro geschrieben, das vor der Ausführung über ein Pop-up-Fenster zunächst bestätigt werden muss. Im Code sieht man, dass der asynchrone Modus verwendet und die Methode DataActionCallback als Rückruf übergeben wurde.

DataActionCallback ist ein separates Makro, das nach Abschluss der Data Action automatisch aufgerufen wird. Es zeigt eine Meldung an, ob der Vorgang erfolgreich war oder ein Fehler aufgetreten ist. Zusätzlich wird im Erfolgsfall eine weitere asynchrone API-Funktion aufgerufen, die das gesamte Workbook aktualisiert, damit die Änderungen in der Tabelle direkt sichtbar sind. Die zugehörige Rückrufmethode des Refresh-Befehls zeigt nur im Fehlerfall eine weitere Meldung an.

Der Aufruf der Data Action zur prozentualen Anpassung der Absatzmenge folgt derselben Logik und wird hier nicht separat dargestellt. In diesem Fall nutzen wir vor allem die Formel SAP.GETPLANNINGTRIGGERPARAMETERVALUE mit der sich die Parameter-Werte der Data Action direkt im Sheet anzeigen und über das eingeblendete Edit-Symbol auch bearbeiten lassen. So können Planer die benötigten Eingaben für die Data Action direkt und benutzerfreundlich im Tabellenkontext vornehmen, ganz ohne VBA und ohne Umweg über das Menü.

SAP Analytics Cloud Excel Add-in: Fazit und Ausblick

Die bereitgestellte VBA-API funktioniert grundsätzlich zuverlässig. Nach kurzer Einarbeitung in die Syntax und die asynchrone Ausführung lassen sich damit nutzerfreundliche Funktionen und optimierte Abläufe umsetzen. Auch das Speichern des Workbooks auf der SAC und die anschließende Ausführung durch andere Benutzer hat im Test problemlos funktioniert. Die offizielle Dokumentation im SAP Help Portal enthält bislang keine Informationen zur API, stattdessen muss auf die separate PDF-Datei aus dem SAP Hinweis zurückgegriffen werden. Diese liefert zwar die nötigen technischen Grundlagen, enthält aber nur wenige praxisnahe Beispiele. Eine stärkere Ausrichtung an realen Anwendungsfällen, etwa dem typischen Ablauf von Data Action Trigger über Refresh bis hin zu Publish oder Revert, wäre wünschenswert und würde vielen Nutzern den Einstieg erleichtern.

Besonders haben uns die Möglichkeiten der Kombination aus VBA-API und den im Add-in nutzbaren SAP Formeln gefallen. Im Unterschied zu AfO (mit Ausnahmen: SAPSetData und SAPSetFilterComponent) dienen diese nicht nur der Anzeige von Werten oder Statusinformationen. Einige Formeln ermöglichen auch eine aktive Steuerung. Durch die geschickte Verknüpfung von Zellwerten können so interaktive Workflows entstehen, ohne dass jeder Schritt über VBA gelöst werden muss.

Sie haben Fragen zur SAP Analytics Cloud oder einem anderen Thema? Nehmen Sie einfach Kontakt zu uns auf - wir freuen uns auf den Austausch mit Ihnen!