ich möchte aus 3 Tabellen ein Array erzeugen, mit dem ich dann innerhalb des Codes weiterarbeiten kann.
In Tabelle 1 stehen die "Grunddaten".
In Tabelle 2 stehen Variabel 1.
In Tabelle 3 stehen Variable 2.
Nun müssen in den Grunddaten gewisse "Schlüssel" mit Variablen aus Tabelle 2 und 3 in Kombination ausgetauscht werden. Aktuell mache ich das über eine Tabelle mit SVERWEISEN. Möchte das aber innerhalb des Codes mit einem Array lösen.
Es wird z.B. aus Tabelle 1 der "Originalschlüssel" (6Stellen+3Stellen)genommen und an der 4. Stelle (der ersten 6Stellen)wird der Wert mit dem 1. Variablenwert aus Tabelle 2 verändert und die 3anderen Stellen werden mit dem 1. Variablenwert aus Tabelle 3 geändert.
Also:
left(Tabelle1, 3) + SVERWEIS teil(tabelle1, 4,1) + right(Tabelle1, 2) + SVERWEIS(tabelle1 Stelle7-9; Tabelle3;2)
ergibt dann den neuen Schlüssel.
Aber wie bekomme ich in VBA mit Array einen Sverweis hinn?
Aktuell mache ich das mit einer if-abfrage:
If ARR01DAT(i, 10) = ARR04DAT(y, 2) Then
ARR01DAT(i, 11) = Left(ARR01DAT(i, 2), 3) & ARR04DAT(y, 3) & Right(ARR01DAT(i, 2), 2) & ARR01DAT(i, 7) & ARR01DAT(i, 8)
ARR01DAT(i, 12) = Left(ARR01DAT(i, 2), 3) & ARR04DAT(y, 4) & Right(ARR01DAT(i, 2), 2) & ARR01DAT(i, 7) & ARR01DAT(i, 8)
ARR01DAT(i, 13) = Left(ARR01DAT(i, 2), 3) & ARR04DAT(y, 5) & Right(ARR01DAT(i, 2), 2) & ARR01DAT(i, 7) & ARR01DAT(i, 8)
ARR01DAT(i, 14) = Left(ARR01DAT(i, 2), 3) & ARR04DAT(y, 6) & Right(ARR01DAT(i, 2), 2) & ARR01DAT(i, 7) & ARR01DAT(i, 8)
ARR01DAT(i, 15) = Left(ARR01DAT(i, 2), 3) & ARR04DAT(y, 7) & Right(ARR01DAT(i, 2), 2) & ARR01DAT(i, 7) & ARR01DAT(i, 8)
ARR01DAT(i, 16) = Left(ARR01DAT(i, 2), 3) & ARR04DAT(y, 8) & Right(ARR01DAT(i, 2), 2) & ARR01DAT(i, 7) & ARR01DAT(i, 8)
ARR01DAT(i, 17) = Left(ARR01DAT(i, 2), 3) & ARR04DAT(y, 9) & Right(ARR01DAT(i, 2), 2) & ARR01DAT(i, 7) & ARR01DAT(i, 8)
ARR01DAT(i, 18) = Left(ARR01DAT(i, 2), 3) & ARR04DAT(y, 10) & Right(ARR01DAT(i, 2), 2) & ARR01DAT(i, 7) & ARR01DAT(i, 8)
ARR01DAT(i, 19) = Left(ARR01DAT(i, 2), 3) & ARR04DAT(y, 11) & Right(ARR01DAT(i, 2), 2) & ARR01DAT(i, 7) & ARR01DAT(i, 8)
ARR01DAT(i, 20) = Left(ARR01DAT(i, 2), 3) & ARR04DAT(y, 12) & Right(ARR01DAT(i, 2), 2) & ARR01DAT(i, 7) & ARR01DAT(i, 8)
Else
End If
Wie geht das fürs Array mit einer Kombination aus den Variabeln 1+2?