Verbindugen im Flowchart auslesen und zuordnen

  • Excel

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Marco123.

    Verbindugen im Flowchart auslesen und zuordnen

    Hi Forum,

    ich bin aktuell damit dran, ein Prozess-Management-Projekt umzusetzen. Dafür gibt es ja professionelle Software, aber sowas ist Luxus :)
    Daher hab ich was in Excel realisiert.Ein Prozessdiagramm / lässt sich ja relativ schnell und einfach mit den dafür vorgesehenen Shapes erstellen. Die Shapes hab ich mit Elbow-Connectoren verbunden. Per Makro kann ich schonmal die Inhalte sämtlicher im Prozessdiagramm / Flowchart verwendeten Shapes auslesen und tabellarisch auflisten.
    Durch die hier drin enthaltenen Nummerierungen können die Schritte auch gut sortiert werden. Was das ganze noch abrunden würde, wäre eine Möglichkeit um herauszubekommen, welche Shapes über Elbow-Connector in welcher Richtung verbunden sind. Somit könnte man auch den jeweils vor- und nachgelagerten Schritt eines Prozessschrittes aufführen. Grade nach Decision-Shapes gibt es ja mehr als einen Weg.
    Ich hab jetzt bereits einige Abende mit Recherchen im WWW nach geeigneten Ansatzpunkten durchsucht, bin aber auf bisher auf kein vergleichbares Thema gestoßen, aus dem ich was brauchbares rausziehen konnte.
    Nun wende ich mich an Euch.
    Habt Ihr eine Idee, wie man so etwas (per VBA) bewerkstelligen kann / könnte?

    Ich bin für jeden Hinweis dankbar.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marco123“ ()

    Hallo Forum,

    Hat sich erledigt.
    Hab eine für mich passende Lösung gefunden.

    Hier für alle Interessierten:

    Visual Basic-Quellcode

    1. Sub Plan_erstellen()
    2. On Error Resume Next
    3. Dim shp As Shape
    4. Dim sh As Worksheet
    5. Dim Zeile As Long
    6. Dim Spalte As Long
    7. Dim Quelle
    8. Spalte = 4
    9. Zeile = 11
    10. Set sh = Tabelle002
    11. Set Ws = Tabelle003
    12. Set Quelle = ThisWorkbook.Sheets("Diagramm").Range("D10:XFD1000")
    13. 'Aktualisierung ausschalten
    14. With Application
    15. .ScreenUpdating = False
    16. .Calculation = xlCalculationManual
    17. .EnableEvents = False
    18. End With
    19. 'Wenn Shape(s) vorhanden dann:
    20. If sh.Shapes.Count > 0 Then
    21. 'Alle Shapes auslesen
    22. For Each shp In sh.Shapes
    23. Zeile = Zeile + 1
    24. If shp.Connector = msoTrue Then 'check if current shape is a connector
    25. Ws.Cells(Zeile, Spalte + 1).Value = shp.ConnectorFormat.BeginConnectedShape.Name
    26. Ws.Cells(Zeile, Spalte + 2).Value = shp.ConnectorFormat.BeginConnectedShape.TextFrame.Characters.Text
    27. Ws.Cells(Zeile, Spalte + 4).Value = shp.ConnectorFormat.EndConnectedShape.Name
    28. Ws.Cells(Zeile, Spalte + 5).Value = shp.ConnectorFormat.EndConnectedShape.TextFrame.Characters.Text
    29. End If
    30. Ws.Cells(Zeile, Spalte + 0).Value = shp.Name
    31. Ws.Cells(Zeile, Spalte + 7).Value = shp.TextFrame.Characters.Text
    32. 'Ws.Cells(Zeile, Spalte - 1).Value = shp.Type
    33. Next shp
    34. End If
    35. 'Aktualisierung einschalten
    36. With Application
    37. .ScreenUpdating = True
    38. .Calculation = xlCalculationAutomatic
    39. .EnableEvents = True
    40. End With
    41. End Sub