Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Array aus 3 Tabellen erzeugen

Forumthread: 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?
Anzeige

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
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige