Die Datenvisualisierung macht seit vielen Jahren große Fortschritte. Das begegnet jedem von uns im Web. Besonders gilt das für positionsbestimmte Daten. Diese lassen sich viel klarer in verschiedenen Karten visualisieren. In Unternehmen ist das gefühlt noch nicht so. Dort stehen Informationen, die einen Bezug zum Fabriklayout haben, noch vorwiegend in Standard-Diagrammen.
Sie müssen aber nicht zum Full Stack Webentwickler werden, um so eine Datenvisualisierung in Ihre Firma zu bringen. Im Artikel Datenvisualisierung im Fabriklayout stelle ich einen Weg mit Microsoft Excel vor.
Rückblick zur Datenvisualisierung in Layouts Version 1
Grundlage ist ein beliebiges Layout, z. B. eine Bilddatei im Jpeg oder Png Format im Hintergrund. Positionen, die für Daten ein Bezugspunkt sind, müssen Sie nur kennzeichnen. Das funktioniert über Excel Form Elemente (Kreis, Rechteck, Dreieck usw.), die Sie auf die richtige Position im Bild schieben und einen eindeutigen Namen vergeben.
Ein Makro fügt dann an die Position der Tag Marke ein Visualisierungselement ein. Das kann ein beliebiges Excel Objekt sein, wie Formen, Piktogramme, 3D Modelle oder ein Bild.
Die Tag Marke braucht nur auch wieder einen eindeutigen Namen, so dass es der Makro finden kann.
Ihre Visualisierung lebt davon, dass Sie unterschiedliche Visualisierungselemente, passend zu den Daten, auswählen. Das funktionierte mit dem Makro bisher umständlich.
- Element auswählen
- auf das Tabellenblatt Setup kopieren
- altes Element löschen
- dem neuen Element den Namen SETUP_SIZEINF_SHAPE zuweisen
Der eigene Shape Katalog
Wesentlich komfortabler für Sie ist, wenn ein weiteres Tabellenblatt hinzukommt: Ihr eigener Shape-Katalog.
Dort sammeln Sie Ihre bisherigen Visualisierungselemente und erstellen so auch problemlos wiederkehrende Visualisierungen.
Möchten Sie ein Visualisierungselement verwenden, markieren Sie es und klicken auf den Button Shape verwenden – Fertig.
Der Makro erledigt den Rest für Sie.
Was passiert beim Klicken im Makro? Exakt dasselbe, was Sie momentan selber tun müssen.
Zuerst muss der Makro wissen, ob ein passendes Objekt von Ihnen ausgewählt wurde. Das geht in Excel mit der Eigenschaft ActiveWindow.Selection.
Enthält sie ein Excel Shape geht es weiter, andernfalls läuft der Aufruf in den On Error GoTo Teil und beendet die Sub.
Sub CopySizeInformationShape() Dim tagName As String Dim activeShape As Shape Dim activeSelection As Variant Dim shp As Shape On Error GoTo CopySizeInformationShape_Err tagName = "SETUP_SIZEINF_SHAPE" Set activeSelection = ActiveWindow.Selection Set activeShape = ActiveSheet.Shapes(activeSelection.name) Call SetSheetNames If ShapeExists(SHEET_SETUP, tagName) = True Then Sheets(SHEET_SETUP).Shapes(tagName).Delete End If
Andernfalls ist alles okay und ein Shape ist ausgewählt. In diesem Fall löscht der Makro das bisherige Visualisierungselement im Tabellenblatt Setup. Da der Namen fest vorgegeben ist, geht das über den Sheets(SHEET_SETUP).Shapes(tagName).Delete Befehl.
Jetzt wird das ausgewählte Shape in die Zwischenablage kopiert (Copy) und im Setup Tabellenblatt eingefügt. Der Name muss zwingend noch geändert werden.
Um das eingefügte Shape wieder zu finden, wird wieder die Eigenschaft ActiveWindow.Selection abgefragt.
Damit das Shape nicht irgendwo liegt und vielleicht nicht sichtbar ist, bekommt es auch eine ungefähr passende Positionsangabe über die Eigenschaften Left und Top mit.
activeShape.Copy Sheets(SHEET_SETUP).Select Sheets(SHEET_SETUP).Paste Set activeSelection = ActiveWindow.Selection Set activeShape = ActiveSheet.Shapes(activeSelection.name) activeShape.name = tagName activeShape.Left = 485 activeShape.Top = 300 Exit Sub CopySizeInformationShape_Err: 'kein Form-Element ausgewählt End Sub
Viel Spaß beim Ausprobieren!
Download
Hier können Sie das Makro und eine Beispieltabellen downloaden und Visualisierungen ausprobieren.
Links
Dokumentation zu ActiveWindow.Selection