Collections variabel addressieren
18.09.2017 16:01:33
Tom
ich bei derzeit an einem Modul dran, welches sechs Arbeitsmappen öffnet, welche jeweils
27 Worksheets beinhalten. Die Struktur der Arbeitsmappen ist dabei immer gleich. Die aus diesen Worksheets gesammelten Daten möchte ich nun auf Collections verteilen, da ich schlußendlich aus jeder Collection einen Wert generieren muss.
Soweit so gut, ich habe das Ganze so aufgebaut das erst alle Arbeitsmappen geöffnet werden und dann per Schleife alle Worksheets durchlaufen werden. Der Plan war dann dabei die Werte (Nach Prüfung auf bestimmte Vorraussetzungen, direkt in eine Collection zu packen.
Jetzt habe ich allerdings das Problem, das ich den Wert nicht an die Collection übergeben kann, da ich die Collection nicht über eine Variable angesprochen bekomme.
Ich möchte allerdings auch nicht 27 mal "If" hintereinander schmeissen.
Die benötigte Collection ergibt sich aus den letzten 2 Zeichen des Worksheet Namens.
z.B. "XQ". Diesen Gleiche ich mit einem Array ab in dem die benötigten Kürzel hinterlegt sind. Um die Collection anzusprechen muss ich noch ein "C" davor setzen, da teilweise numerische Werte am Anfang der Kürzel stehen.
Ausschnitt:
For I = 0 To UBound(Plants)
If Right(SH.Name, 2) = Plants(I) Then 'SH Name ist der Worksheet Name und Plants das Array
CStr("C" & Plants(I)).Add wb.Worksheets(SH.Name).Cells(Reihe, 22).Value 'Dieser Teil scheitert :(
End If
Next
Da ich da jetzt schon eine Weile daran brüte, wäre ich für jede Hilfe dankbar.
Viele Grüße
Tom