-
FlexPro
- Auf einen Blick
- Features & Optionen
- Einsatzgebiete
- Alle Vorteile
- Neu in FlexPro 2021
- FlexPro gratis testen
- FlexPro View OEM Freeware
- Kaufberatung
- Login
- Language
- +49 6894 929600
- infoweisang.com
- Google Maps
- Produkte
- News
- Support
- Unternehmen
- Jobs
- Kontakt
- Login
- Language
- +49 6894 929600
- infoweisang.com
- Google Maps
Listenelement mit VBA abfragen
Home > Community > Automation and VBA > Listenelement mit VBA abfragen
Schlagwörter: Listenelement / Einzelwert in VBA
- Dieses Thema hat 1 Antwort sowie 2 Teilnehmer und wurde zuletzt vor vor 3 Jahren, 7 Monaten von Bernhard Kantz aktualisiert.
-
AutorBeiträge
-
Mai 27, 2021 um 8:33 am Uhr #28955Helmut MeßmerTeilnehmer
Hallo,
in VBA scheitere ich daran, die Elemente einer Liste abzuarbeiten.
Mit der FPScript-Formel “textliste”
Dim idx = ValuesAboveLevel(Integer32 (("" <> Kommentar) == ("Start" <> Kommentar)), 0.5, EVENT_INDEX) Dim Liste = [Zyklus[idx], Kommentar[idx]] // Erstellen der Liste mit 2 Datenreihen.
erzeuge ich einen Liste mit zwei Datenreihen.
Die FPScript-Formel “Anzahl”
NumberOfRows(textliste.[0])
erzeugt einen Einzelwert mit der Länge dieser Liste.
In VBA sieht die Abfrage der beiden Formeln dann so aus:
Dim Anzahl As FlexPro.Formula Set Anzahl = oDiagram.ParentFolder.Object("Anzahl", fpObjectTypeFormula) Dim Text As FlexPro.Formula Set Text = oDiagram.ParentFolder.Object("textliste", fpObjectTypeFormula) MsgBox Anzahl.Value(0, 0) MsgBox Text.Value(0, 0)
Die MsgBox für den Einzelwert funktioniert und zeigt was an, egal ob “fpDataComponentY” drin steht oder nicht. Für die Liste funktioniert das aber so natürlich nicht.
Meine Frag ist nun: Wie kann ich einen Einzelwert der Liste abfragen?
In FPScript wird das mit:
textliste.[1][1]
gemacht, um den zweiten Einzelwert der zweiten Datenreihe anzuzeigen.
Dieser FPScript-Syntax funktioniert aber nicht in VBA.
Meine Frage ist nun: Wie ist der korrekte Syntax, um diesen Einzelwert in VBA, z.B. in der MsgBox anzeigen zu lassen?
Vielen Dank
Mai 27, 2021 um 9:11 am Uhr #28956Bernhard KantzTeilnehmerDie Formel liefert als Wert eine Liste zurück. In dieser kann man mit dem Elementnamen oder eins-basierten Index ein Element referenzieren. In Ermangelung eines Cast-Operators in VBA bietet sich folgende Herangehensweise an:
Dim Text As FlexPro.List Set Text = oDiagram.ParentFolder.Object("textliste", fpObjectTypeFormula).Value MsgBox "Die zweite Zeile im zweiten Element ist " & Text(2)(1)
Man beachte den Listelementindex, dieser kann alternativ auch als Zeichenkette mit dem Elementnamen angegeben werden.
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.