ich habe ein Problem mit der Programmierung von SVERWEISen in meinem Makro. Ich habe eine Tabelle (als eine Art Zusammenfassung), die sich aus anderen Tabellenblaettern ueber SVERWEISe die Daten per Makro holt.
Worksheets("NEW").Range("L5").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],BOM!C2:C8,2,FALSE)"
Worksheets("NEW").Range("L5").Copy 'Part Name
Worksheets("NEW").Range("L6:L500").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Worksheets("NEW").Range("M5").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],BOM!C2:C8,3,FALSE)"
Worksheets("NEW").Range("M5").Copy 'Explosion Level
Worksheets("NEW").Range("M6:M500").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Das ist mal mein Makro exemplarisch fuer zwei Spalten im Zusammenfassungsblatt. Leider kann ich nicht wirklich programmieren und habe mich daher am Makrorecorder orientiert.
Der Code laeuft auch soweit gut - allerdings wuerde ich das jetzt gerne allgemeiner gestalten.
Es sollte eben moeglich sein im Zusammenfassungsblatt neue Spalten als auch Zeilen einzufuegen, ohne das dann gleich die Werte in falsche Spalten oder Zeilen geschrieben werden.
1. Wie kann ich auf Zellen zugreifen, die relativ zu definierten Zellen liegen?
Dazu habe ich der Namenszeile den ganzen Spalten Namen z.B. "L4"= "Part_Name" gegeben und die Zelle "L5" ist die erste Zelle, in der in Spalte "L" der SVERWEIS eingetragen wird. Dies sollte immer die erste Zelle unter der Zelle "Part_Name" sein.
2. Wie kann ich die SVERWEIS-Formel mit den Bereichen schreiben?
Auch in der Formel beim SVERWEIS muss sich was aendern, da das RC[-1] mir nicht allgemein genug ist, da sich auch neue Spalten zwischen das Suchkriterium und die Spalte "L" schieben koennen.
(Das mit den anderen Tabellenblaettern (im Beispiel "BOM") ist okay so, da diese immer gleich aussehen.)
3. Wie kann ich auf Bereiche zugreifen, die relativ zu definierten Zellen liegen?
Anschliessend werden die Formeln halt nach unten kopiert...hier sollte die jeweilige Spalte dann eben auch zur entsprechenden Ueberschrift passen. Erfuellt seinen Zweck - aber hier gibts bestimmt auch bessere Loesungen.
Danke vielmals fuer die Rueckmeldungen und fuer jede Hilfe. Ich komme da momentan einfach nicht weiter.
Viele Gruesse
Didi