Freigeben über


Tutorial: Erstellen von Makros für Streamingdaten

In diesem Tutorial wird Folgendes vermittelt:

  • Erstellen von Modulen zum Organisieren von Makros
  • Deklarieren von Verweisfunktionen
  • Erstellen von Makros zum Speichern von Testversionen

Voraussetzungen

  • Sensordaten, die zuvor auf der Seite "Daten in" von Excel gestreamt wurden
  • Erstellte und strukturierte Testdatentabelle
  • Registerkarte "Entwickler-Menüband" aktiviert

Erstellen von Modulen in VBA

  1. Wählen Sie Developer > Visual Basic aus, um Visual Basic für Excel zu öffnen.
  2. Wählen Sie Modul einfügen > aus, um ein Modul zum Speichern von Makros hinzuzufügen.
  3. Benennen Sie auf der Registerkarte Eigenschaften module1 wie gewünscht um. Dadurch werden Ihre Verweise gespeichert.
  4. Wiederholen Sie die Schritte 2 und 3, und umbenennen Sie sie auch wie gewünscht. Dadurch werden Ihre aktiven Makros gespeichert.

Deklarieren von Verweisfunktionen

  1. Wählen Sie im Fenster Projekt das gewünschte Modul für Ihre Verweise aus.

  2. Beginnen Sie im Codefenster, indem Sie deklarieren Option Explicit.

  3. Definieren Sie darunter den Blattnamen, in dem Die Tabelle gespeichert ist.

  4. Wiederholen Sie Schritt 3 für den Namen der Tabelle.

     Option Explicit
     Public Const sheetname = "Backend"
     Public Const tblname = "Tbl_Backend"
     Public Const sensorcount = 2
    
  5. Verwenden Sie den Befehl Function, um einen Kurzverweis für Ihre Tabelle zu erstellen.

    Function BT_tbl() as ListObject
            Set BT_tbl = Sheets(sheetname).ListObjects(tblname)
    End Function
    
  6. Verwenden Sie den Befehl Function, um einen Kurzverweis für die Streamingspalten der einzelnen Sensoren zu erstellen.

    Function Live_CH(snum As Integer) As Range
            Set Live_CH = BT_tbl.ListColumns("CH" & snum).DataBodyRange
    End Function
    
  7. Verwenden Sie den Befehl Function, um eine Kurzreferenz für die Testspalten für jeden Sensor zu erstellen.

    Function Trial_CH(snum As Integer, tnum As Integer) As Range
            Set Trial_CH = BT_tbl.ListColumns("CH" & snum & "_T" & tnum).DataBodyRange
    End Function
    
    

Diese Funktionen ermöglichen es dem Benutzer, problemlos auf Objekte und Bereiche in der Arbeitsmappe zu verweisen, sodass die aktiven Makros wesentlich einfacher zu schreiben und zu verstehen sind.

Erstellen von Makros zum Speichern von Testversionen

  1. Wählen Sie im Fenster Projekt das gewünschte Modul für Ihre Verweise aus.

  2. Beginnen Sie im Codefenster mit dem Deklarieren des Namens für das Makro zum Speichern von Testversionen mit einer Unterversion.vba.

    Sub SaveTrial()
    
    End Sub
    
  3. Damit das Makro erkennen kann, auf welche Testversion basierend auf der angeklickten Schaltfläche verwiesen werden soll, fügen Sie den folgenden Code in diesen Teil ein.

    Sub SaveTrial()
            Dim tnum As Integer
            tnum = Right(ActiveSheet.Shapes(Application.Caller).Name,1)
    End Sub
    
  4. Fügen Sie abschließend für jeden Sensor eine Codezeile hinzu, um die gewünschte Testspalte auf die entsprechende Streamingspalte zu stellen.

    Sub SaveTrial()
            Dim Num As Integer
            Num = Right(ActiveSheet.Shapes(Application.Caller ).Name,1)
            References.BT_CH1_Trial(Num).Value = References.BT_CH1.Value
            References.BT_CH2_Trial(Num).Value = References.BT_CH2.Value
    End Sub
    

Nachdem dieses Makro geschrieben wurde, kann der Benutzer die Makros nun Objekten zuweisen.

Zuweisen von Makros zu Objekten

  1. Wechseln Sie zur Excel-Arbeitsmappe, zu dem Arbeitsblatt, das Ihre Tabelle und benannte Objekte enthält.
  2. Wählen Sie alle Testschaltflächen aus, indem Sie die UMSCHALTTASTE gedrückt halten und jedes Objekt auswählen.
  3. Öffnen Sie das Kontextmenü für diese Objekte, und wählen Sie Makro zuweisen... aus.
  4. Wählen Sie das Makro SaveTrial aus.

Wenn Sie darauf klicken, lösen diese Schaltflächen jetzt das Makro SaveTrial aus und kopieren Daten aus den Livedatenspalten in die gewünschten Testspalten.