Dieser Use-Case ist auf dem PM-Forum 2024 im Workshop 1 entstanden und stellt die Abfrage des Risiko-Status dar.
Dabei werden 2 verschiedene Programme benutzt. Für das Öffnen der Datei Onedrive und für die weiteren Schritte MS-Excel.
Evtl. ging hier noch ein Schritt verloren, deshalb habe ich einen Schritt ergänzt und zwar das Kopieren der Informationen per E-Mail an die Person verwendet wird, die den Workflow startet.
Um euch bzgl. den unterschiedlichen Voraussetzungen ein Bild vermitteln zu können, habe ich 3 verschiedene Varianten dargestellt:
Lösungsvariante | Voraussetzungen |
---|---|
Power-Automate (RPA Lösung) | Power-Automate Lizenz und M365 Konto |
Excel Makro | Nutzung von Makros muss erlaubt sein |
Individuelle Tabellenansicht | Excel im Einsatz |
Prozessschritte und Lösungsansatz
Dieser Use-Case kann auf unterschiedliche Arten umgesetzt werden. Jedoch ist es wichtig, sich die Schritte in Form einer Tabelle zu visualisieren. Die Angaben der Prompts sind dabei für ChatGPT und Copilot wichtig, die Information der Quelle sind hierbei Annahmen, wobei die erste Ziffer die Zeile und die zweite die Spalte in Excel repräsentiert.
Schritte | Bezeichnung | Software | Quelle / Zellenbezug | Beschreibung Prompt |
---|---|---|---|---|
1 | Excel Laufwerk im Firmenlaufwerk öffnen | Onedrive | Öffne die Datei XYZ im Ordner Testordner und führe folgende Aktionen aus | |
2 | Alle Filter zurücksetzen | Excel | Setze alle Filter zurück | |
3 | Filter auf aktive Risiken setzen | Excel | 1 | B | Ändere den Filter in der Zeile 1 Spalte B auf aktive Risiken |
3 | Filter Risikoeintritt auf aktuellen Monat setzen | Excel | 1 | C | Ändere den Filter in der Zeile 1 Spalte C auf aktueller Monat |
4 | Filter auf Fälligkeitsdatum Maßnahme aktueller Monat setzen | Excel | 1 | D | Ändere den Filter in der Zeile 1 Spalte D auf Maßnahme aktueller Monat |
5 | Sortierung nach Risiko | Excel | 1 | E | Sortiere die Tabelle nach der Spalte E aufsteigend |
6 | Filter nach Owner X | Excel | 1 | F | Ändere den Filter in der Zeile 1 Spalte F auf Owner X |
7 | Kopiere Information aus Feld ID | Excel | 2 | AA | Erzeuge eine Variable ID und kopiere die Information aus der Zeile 2 Spalte AA |
7 | Kopiere Information aus Feld Name | Excel | 2 | AB | Erzeuge eine Variable Name und kopiere die Information aus der Zeile 2 Spalte AB |
8 | Kopiere Information aus Feld Risiko-Beschreibung | Excel | 2 | AC | Erzeuge eine Variable Beschreibung und kopiere die Information aus dem Feld der Zeile 2 Spalte AC |
9 | Kopiere Information aus Feld Risiko-Eintrittsdatum | Excel | 2 | AD | Erzeuge eine Variable Eintrittsdatum und kopiere die Information aus dem Feld der Zeile 2 Spalte AD |
10 | Kopiere Information aus Feld Maßnahmen Beschreibung | Excel | 2 | AF | Erzeuge eine Variable Beschreibung und kopiere die Information aus dem Feld der Zeile 2 Spalte AF |
11 | Kopiere Information aus Feld Fälligkeitsdatum Maßnahme | Excel | 2 | AG | Erzeuge eine Variable Maßnahme und kopiere die Information aus dem Feld der Zeile 2 Spalte AG |
12 | Sende eine E-Mail an mich mit den kopierten Informationen | Outlook | Erzeuge eine E-Mail und sende die angelegten Variablen an den PL |
Variante 1 – mit Power-Automate in der Cloud
In dieser Variante würde die gesamte Exceldatei basierend auf einen Trigger entsprechend bearbeitet werden. Als Trigger können dabei die folgenden Varianten gewählt werden:
- basierend auf einen Ereignis
- Eingang einer E-Mail
- Aktualisierung des Dokumentes
- etc.
- basierend auf zeitlicher Planung
- z.B. Start jeden Freitag um 22 Uhr
- Manueller Start
- Per Click auf einen Button, z.B. in Teams oder direkt in der Browseroberfläche
Ein Eingriff des Anwenders wäre hierzu nicht notwendig. Das entsprechende Script kann dabei direkt in Power-Automate (https://make.powerautomate.com/) mit Copilot erstellt werden.
Auf der Seite Mit Microsoft Copilot Power-Automate Scripte erstellen findest Du ein Beispiel und eine Anleitung, wie Du damit umgehen kannst.
Um einen Test durchzuführen, kopiere einfach folgenden Prompt in das Eingabefeld für die unterstützte Erzeugung in Power-Automate:
0. Starte den Workflow jeden Freitag um 22 Uhr
1. Öffne die Datei XYZ im Ordner Testordner und führe folgende Aktionen aus
2. Setze alle Filter zurück
3. Ändere den Filter in der Zeile 1 Spalte B auf Aktive Risiken
4. Ändere den Filter in der Zeile 1 Spalte C auf Aktuelles Monat
5. Ändere den Filter in der Zeile 1 Spalte D auf Maßnahme aktuelles Monat
6. Sortiere die Tabelle nach der Spalte E Aufsteigend
7. Ändere den Filter in der Zeile 1 Spalte F auf Owner X
8. Erzeuge eine Variable ID und kopiere die Information aus der Zeile 2 Spalte AA
9. Erzeuge eine Variable Name und kopiere die Information aus der Zeile 2 Spalte AB
10. Erzeuge eine Variable Beschreibung und kopiere die Information aus Feld der Zeile 2 Spalte AC
11. Erzeuge eine Variable Eintrittsdatum und kopiere die Information aus Feld der Zeile 2 Spalte AD
12. Erzeuge eine Variable Beschreibung und kopiere die Information aus Feld der Zeile 2 Spalte AF
13. Erzeuge eine Variable Maßnahme und kopiere die Information aus Feld der Zeile 2 Spalte AG
14. Erzeuge eine E-Mail und sende die angelegten Variablen an den PL
Hinweis: Der Step 0 ist der Trigger, der benötigt wird, um den Start Punkt zu definieren.
Variante 2 – mit einem Excel Makro
Mit der Makro Variante, kann leider keine volle Automatisierung – wie im Falle einer RPA Lösung – durchgeführt werden. Jedoch benötigt man nur 2 Schritte, was wiederum eine Reduzierung von über 80% der Schritte entspricht:

Der entsprechende Prompt zur Erstellung in ChatGPT lautet wie folgt:
"Erzeuge mir ein VBA Script für Excel mit den nachfolgenden Schritten und erzeuge eine Anleitung wie ich es einbinden kann :
1. Setze alle Filter zurück
2. Ändere den Filter in der Zeile 1 Spalte B auf Aktive Risiken
3. Ändere den Filter in der Zeile 1 Spalte C auf Aktuelles Monat
4. Ändere den Filter in der Zeile 1 Spalte D auf Maßnahme aktuelles Monat
5. Sortiere die Tabelle nach der Spalte E Aufsteigend
6. Ändere den Filter in der Zeile 1 Spalte F auf Owner X
7. Erzeuge eine Variable ID und kopiere die Information aus der Zeile 2 Spalte AA
8. Erzeuge eine Variable Name und kopiere die Information aus der Zeile 2 Spalte AB
9. Erzeuge eine Variable Beschreibung und kopiere die Information aus Feld der Zeile 2 Spalte AC
10. Erzeuge eine Variable Eintrittsdatum und kopiere die Information aus Feld der Zeile 2 Spalte AD
11. Erzeuge eine Variable Beschreibung und kopiere die Information aus Feld der Zeile 2 Spalte AF
12. Erzeuge eine Variable Maßnahme und kopiere die Information aus Feld der Zeile 2 Spalte AG
13. Erzeuge eine E-Mail und sende die angelegten Variablen an den PL "
ChatGPT erzeugt daraufhin folgendes Ergebnis:
Hier ist ein VBA-Skript für Excel, das die beschriebenen Schritte ausführt, sowie eine Anleitung, wie du es einbinden kannst:
### VBA-Skript
```vba
Sub AutomateProcess()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets(1)
' Setze alle Filter zurück
If ws.AutoFilterMode Then
ws.AutoFilter.ShowAllData
End If
' Setze die Filter
ws.Range("A1").AutoFilter Field:=2, Criteria1:="Aktive Risiken"
ws.Range("A1").AutoFilter Field:=3, Criteria1:=Month(Date) & "/" & Year(Date)
ws.Range("A1").AutoFilter Field:=4, Criteria1:="Maßnahme aktuelles Monat"
' Sortiere die Tabelle nach Spalte E aufsteigend
ws.Range("A1").CurrentRegion.Sort Key1:=ws.Range("E2"), Order1:=xlAscending, Header:=xlYes
' Setze den Filter für Spalte F
ws.Range("A1").AutoFilter Field:=6, Criteria1:="Owner X"
' Variablen erzeugen und Werte kopieren
Dim ID As String
Dim Name As String
Dim Beschreibung As String
Dim Eintrittsdatum As String
Dim Maßnahme As String
ID = ws.Range("AA2").Value
Name = ws.Range("AB2").Value
Beschreibung = ws.Range("AC2").Value
Eintrittsdatum = ws.Range("AD2").Value
Maßnahme = ws.Range("AG2").Value
' Erzeuge eine E-Mail und sende die angelegten Variablen
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
With OutMail
.To = "email@example.com"
.Subject = "Daten"
.Body = "ID: " & ID & vbNewLine & _
"Name: " & Name & vbNewLine & _
"Beschreibung: " & Beschreibung & vbNewLine & _
"Eintrittsdatum: " & Eintrittsdatum & vbNewLine & _
"Maßnahme: " & Maßnahme
.Send
End With
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
```
### Anleitung zum Einbinden des VBA-Skripts
1. **Öffne Excel und die gewünschte Arbeitsmappe.**
2. **Drücke `ALT` + `F11`, um den VBA-Editor zu öffnen.**
3. **Gehe zu `Einfügen` > `Modul`, um ein neues Modul zu erstellen.**
4. **Kopiere das obige Skript und füge es in das neue Modul ein.**
5. **Schließe den VBA-Editor.**
6. **Zurück in Excel, drücke `ALT` + `F8`, wähle `AutomateProcess` und klicke auf `Ausführen`, um das Skript auszuführen.**
### Hinweis
- Stelle sicher, dass dein Makro in Excel aktiviert ist. Gehe zu `Datei` > `Optionen` > `Sicherheitscenter` > `Einstellungen für das Sicherheitscenter` > `Einstellungen für Makros`, und wähle `Alle Makros aktivieren`.
- Wenn du Outlook nicht installiert hast oder eine andere E-Mail-Anwendung verwendest, muss das E-Mail-Versand-Teil des Codes entsprechend angepasst werden.
Variante 3 – die gute alte Tabellenansicht
Es gibt in Excel schon seit 1997 die Funktion individuelle Filtereinstellungen und Tabellenansichten zu hinterlegen. Eine entsprechende Anleitung dafür findet sich auf der Microsoft Seite (Anleitung individuelle Tabellenansicht / Blattansicht)
Am folgenden Beispiel wäre der Ablauf wie folgt:

Die Spalte G ist eine Hilfsspalte, um den aktuellen Monat darzustellen. Das erfolgt mit folgender Funktion
=WENN(UND(MONAT([@[Risiko-Eintrittsdatum]])=MONAT(HEUTE());JAHR([@[Risiko-Eintrittsdatum]])=JAHR(HEUTE()));"Aktuelles Monat";"")
Im Reiter Ansicht gibt es nun einen Bereich Tabellenansicht:

Damit ist nun eine individuelle Filtereinstellung definierbar. Die Verwendung ist sehr einfach, man legt über den Button Neu eine individuelle Sicht an, setzt die notwendigen Filter und speichert diese ab.
Nun ist diese Ansicht direkt aufrufbar und mit den Hilfsspalten auch mit einer tagesaktuellen Berechnung.

Den Kopiervorgang könnte man mit diesen Hilfsspalten auch entsprechend minimieren, jedoch sollten die Hilfsspalten nicht sichtbar sein.