Ich bin ziemlich neu in VBA.VBA - Kopieren Sie mehrere Spalten mit Index/Match, um mehrere Kriterien zu erfüllen
Ich habe zwei Blätter. Das erste ist ein altes großes Blatt mit veralteten Informationen und das zweite enthält eine Teilmenge des ersten mit aktualisierten Daten.
Hier ist ein (abgeschnittenes) Beispiel für jedes Blatt.
**Old Large Sheet**
Year Month Region Data1 Data2 CalculatedData1 CalculatedData2
2016 1 1 X1 Y1 X1 X1/Y1
2016 2 1 X2 Y2 X1+X2 X2/Y2
2016 3 1 X3 Y3 X1+X2+X3 X3/Y3
...
2017 1 1 X13 Y13 X13 X13/Y13
...
2025 12 30 XXX YYY ...
Und das neue Blatt.
**New Sheet**
Year Month Region Data1 Data2
2017 1 1 X13' Y13'
2017 2 1 X14' Y13'
2017 3 1 X15' Y15'
2017 4 1 X16' Y16'
Grundsätzlich würde Ich mag mit den Werten aus dem neuen Blatt „Daten“ Spalten in dem alten Blatt ersetzen, basierend auf einem Index/Spiel der drei ersten Spalten.
In Excel, würde dies bedeuten, zum Filtern einer bestimmten Periode/Region und Schreiben eine Matrixformel in Daten mit einer Formel, die wie
{=INDEX('NewSheet'!D2:D1000;MATCH($A2&$B2&$C2;_
'NewSheet'!$A$2:$A$1000&$B$2:$B$1000&$C$2:$C$1000;0))}
Und es für jede Spalte „Data“ und jede gefilterte Zeile kopiert würde .
Meine Frage ist: Wie kann ich diesen Ersatz in VBA auf eine ziemlich automatisierte Weise tun?