Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1624to1628
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 aus 3 Tabellen erzeugen

Array aus 3 Tabellen erzeugen
23.05.2018 10:23:39
Lutz
Hallo,
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?

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Array aus 3 Tabellen erzeugen
24.05.2018 14:38:23
Lutz
Keiner eine Lösung für mich?
AW: Array aus 3 Tabellen erzeugen
29.05.2018 08:15:21
fcs
Hallo Lutz,
wenn die Tabellen nicht zu viele Datenzeilen haben, dann kann man man "einfach" in verschachtelten For-Next-Schleifen die Zeilen mit Übereinstimmung der Teil-Schlüssel in den beiden Variablen-Blättern suchen und dann die gewünschten Daten ins Array mit den Grunddaten übertragen.
Gruß
Franz
Beispieldatei: https://www.herber.de/bbs/user/121869.xlsm
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige