Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1632to1636
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Array mit Variablen-Namen

Array mit Variablen-Namen
10.07.2018 15:17:02
Hannes
Hallo zusammen,
ich habe etliche Arrays in denen ich Zeilennumern speichere die ich hinterher brauche um dort Daten auszulesen. Diese Arrays haben alle unterschiedliche und sprechende Namen. Die Arrays definiere ich wie folgt:

Dim master_array() as variant
Dim zeile_fahrzeug1
dim zeile_fahrzeug2
dim zeile_fahrzeug3

Ich habe aber auch ein "Master"-Array in welchen ich alle Namen der anderen Arrays eingetragen habe.

master_array=array("zeile_fahrzeug1,"zeile_fahrzeug2",...)

Nun möchte ich innerhalb einer Schleife die einzelnen Arrays abarbeiten. Dazu muss ich allerdings die maximale Anzahl an Elementen im Array bestimmen.
Dies versuche ich innerhalb einer Schleife mit der Funktion
max_zeile_array=ubound(master_array(i))

zu erreichen. Jedoch kommt dann die Fehlermeldung "Laufzeitfehler 13: Typen unverträglich".
Kann mir bitte jemand helfen und sagen woran das liegt?
Vielen Dank für Eure Hilfe.
Gruß
Hannes

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Array mit Variablen-Namen
10.07.2018 15:32:46
Daniel
Hi
wenn man das zugrunde legt was du hier zeigst, dann liegst an den Anführungzeichen.
die sorgen dafür, dass du nicht die Variablen ins MasterArray übernimmst, sondern nur die Texte
master_array=array(zeile_fahrzeug1, zeile_fahrzeug2,...)
Gruß Daniel
AW: Array mit Variablen-Namen
10.07.2018 15:45:14
Hannes
Hallo Daniel,
danke für das schnelle Feedback. Ich habe nun nochmal ein wenig rumprobiert. Mein Master-Array heisst jetzt "array_namen". Wenn ich das - nachdem ich alle anderen Arrays vorher gefüllt habe - fülle, dann erscheinen die Inhalte der einzelnen Arrays. Ich will jedoch nur deren Namen in das Namens Array schreiben, damit ich dir Arrays mit Namen ansprechen kann.
Wie kann ich das machen, dass die Namen der Arrays aufgenommen werden und nicht deren Werte?
Danke.
Gruß
Hannes
Anzeige
AW: Array mit Variablen-Namen
10.07.2018 16:21:01
Daniel
Hi
wenn du Arrays mit Namen ansprechen willst (und diese Namen selbst aus Variablen erzeugen willst)
dann musst du Dictionarys verwenden.
Ein Dictionary ist im Prinzip ein eindimensionales Array, welches einen Freitext-Index hat.
dh du kannst einen beliebigen Text als Index verwenden und über diesen Text auf den gespeicherten Wert zugreifen (diese wert kann auch ein weiteres Array sein).
mal ein Beispiel:
Sub test()
Dim Master As Object
Dim txt As String
Dim i As Long
Set Master = CreateObject("Scripting.Dictionary")
Master("Fahrzeug1") = Array(1, 2)
Master("Fahrzeug2") = Array(3, 4, 5)
Master("Fahrzeug3") = Array(6, 7, 8, 9)
txt = "Fahrzeug"
For i = 1 To 3
Debug.Print txt & i, "Anzahl:"; UBound(Master(txt & i)) + 1, "erster Wert:"; Master(txt & i)(0)
Next
End Sub
Gruß Daniel
Anzeige
ich weiß nicht, wie es geht
10.07.2018 18:48:45
Oberschlumpf
Hi Daniel,
trotzdem glaub ich, Hannes will was anderes.
Bsp-Code

Dim strAuto As String, strMofa As String, strVarNamen(1) As String
strVarNamen(0) = strAuto 'NICHT den Inhalt von strAuto, sondern den VarNamen selbst!!!
strVarNamen(1) = strMofa 'NICHT den Inhalt von strMofa, sondern den VarNamen selbst!!!
Ich versteh den Sinn nicht, aber ok, ich hab ja auch nicht alle Hintergrundinfos, die dazu nötig sind.
Und ich weiß auch nicht, ob und wenn, wie das lösbar sein soll.
Ciao
Thorsten
vergiss meinen Beitrag
10.07.2018 18:56:59
Oberschlumpf
Hi Daniel,
sorry, hab deine - richtige - Lösung ein 2. Mal gelesen, getestet + auch endlich verstanden...yeah
Ja, du machst es ja genau so, wie Hannes es wollte.
Ich find das aber so sehr umständlich.
Nein, nicht falsch verstehen!
Ich find nicht deinen Code umständlich, sondern den Gedanken von Hannes, die Namen von Variablen selbst zu "sammeln", um sie dann mit einer Schleife abzuarbeiten.
Aber ok. Wie schon mal bemerkt: Ich hab wahrsch. zu wenig Hintergrundinfos, um zu verstehen, warum so zu programmieren, vorteilhaft(er) ist.
Ciao
Thorsten
Anzeige
AW: vergiss meinen Beitrag
16.07.2018 12:43:08
Hannes
Hallo Thorsten,
ich habe unterschiedliche Namen für meine Fahrzeuge, beispielsweise Ford Focus, Audi A1, BMW 3er, etc. Diese Namen will ich in ein "Inhaltsverzeichnis" schreiben um nur einmal dieses "Inhaltsverzeichnis" ändern zu müssen, wenn neue Namen hinzukommen. Ich habe dann auch entsprechend benannte Arrays in denen Zeilennummern mit einzelnen Infos zu den jeweiligen Fahrzeugen aufgeführt sind. Ich will dann innerhalb einer Schleife alle relevanten Informationen zu den einzelnen Fahrzeugen abfragen, ausgeben und weiterverarbeiten.
Wie kann ich die verschiedenen Namen in das Dictionary eintragen?
Vielen Dank.
Gruß
Hannes
Anzeige
AW: am besten...
16.07.2018 13:03:26
Oberschlumpf
Hi Hannes,
zeig uns bitte per Upload eine Bsp-Datei mit Bsp-Daten.
Mit Hilfe der Datei sollte dein Problem/deine Frage zu erkennen sein.
Am besten in Tabelle1 alles so, wie es ist, in Tabelle2 so, wie es sein soll.
Denn auch deine erneuten Beschreibungen verwirren mich nur wieder aufs Neue.
Na ja, wie gesagt, das gilt für mich. Andere verstehen vllt, was du möchtest. Aber ohne eine Datei weiß ich nicht weiter.
Was deine Dictionary-Frage betrifft:
Hast du denn die Antwort, bzw den Code von Daniel ausprobiert?
Ciao
Thorsten
AW: Array mit Variablen-Namen
10.07.2018 15:43:25
mmat
Hallo Hannes,
hier ist ein i zuviel, das muß heissen:
max_zeile_array=ubound(master_array())
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge