Use-Case 7 (WS1) – Abfrage Risiko Status

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ösungsvarianteVoraussetzungen
Power-Automate (RPA Lösung)Power-Automate Lizenz und M365 Konto
Excel MakroNutzung von Makros muss erlaubt sein
Individuelle TabellenansichtExcel 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.

SchritteBezeichnungSoftwareQuelle / ZellenbezugBeschreibung Prompt
1Excel Laufwerk im Firmenlaufwerk öffnenOnedriveÖffne die Datei XYZ im Ordner Testordner und führe folgende Aktionen aus
2Alle Filter zurücksetzenExcelSetze alle Filter zurück
3Filter auf aktive Risiken setzenExcel1 | BÄndere den Filter in der Zeile 1 Spalte B auf aktive Risiken
3Filter Risikoeintritt auf aktuellen Monat setzenExcel1 | CÄndere den Filter in der Zeile 1 Spalte C auf aktueller Monat
4Filter auf Fälligkeitsdatum Maßnahme aktueller Monat setzenExcel1 | DÄndere den Filter in der Zeile 1 Spalte D auf Maßnahme aktueller Monat
5Sortierung nach RisikoExcel1 | ESortiere die Tabelle nach der Spalte E aufsteigend
6Filter nach Owner XExcel1 | FÄndere den Filter in der Zeile 1 Spalte F auf Owner X
7Kopiere Information aus Feld IDExcel2 | AAErzeuge eine Variable ID und kopiere die Information aus der Zeile 2 Spalte AA
7Kopiere Information aus Feld NameExcel2 | ABErzeuge eine Variable Name und kopiere die Information aus der Zeile 2 Spalte AB
8Kopiere Information aus Feld Risiko-BeschreibungExcel2 | ACErzeuge eine Variable Beschreibung und kopiere die Information aus dem Feld der Zeile 2 Spalte AC
9Kopiere Information aus Feld Risiko-EintrittsdatumExcel2 | ADErzeuge eine Variable Eintrittsdatum und kopiere die Information aus dem Feld der Zeile 2 Spalte AD
10Kopiere Information aus Feld Maßnahmen BeschreibungExcel2 | AFErzeuge eine Variable Beschreibung und kopiere die Information aus dem Feld der Zeile 2 Spalte AF
11Kopiere Information aus Feld Fälligkeitsdatum MaßnahmeExcel2 | AGErzeuge eine Variable Maßnahme und kopiere die Information aus dem Feld der Zeile 2 Spalte AG
12Sende eine E-Mail an mich mit den kopierten InformationenOutlookErzeuge eine E-Mail und sende die angelegten Variablen an den PL
Tabellarische Darstellung der Schritte

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.

Schreibe einen Kommentar

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