Dynamisches Copy-Paste
04.09.2007 04:39:11
Ralf
Ich quäle mich gerade mit folgendem Problem, in der Hoffnung eine sinnvollere Lösung zu finden. Mein Code ist (Auszug aus der "for x to y"-Schleife):
If Worksheets(x).Name = Worksheets("Source").Range("C2") Then
Worksheets("Source").Range("C8:C98").Offset(0, o).copy 'Source1
Worksheets(x).Range("B8:B34").PasteSpecial Paste:=xlValues 'Target1
Worksheets("Source").Range("T8:T98").Offset(0, o).copy
Worksheets(x).Range("C8:C34").PasteSpecial Paste:=xlValues
ElseIf Worksheets(x).Name = Worksheets("Source").Range("C112") Then
Worksheets("Source").Range("C118:C208").Offset(0, o).copy 'Source2
Worksheets(x).Range("B8:B34").PasteSpecial Paste:=xlValues 'Target2
Worksheets("Source").Range("T118:T208").Offset(0, o).copy
Worksheets(x).Range("C8:C34").PasteSpecial Paste:=xlValues
Es wird immer kontrolliert, ob der Name des zu überprüfenden Sheets in einer bestimmten Zelle auf dem Sheet "Source" vorkommt. Das Sheet Source beinhaltet wiederrum 11x4 Tabellen, aus denen dann die Werte bei Zutreffen der Bedingung auf das jeweilige Sheet kopiert werden sollen.
Funktioniert soweit tadellos. Aber der Aufwand das zu schreiben ist immens. Bislang werden nur 2 Sachen kopiert, aber es sollen an die 20 werden. :(
Jetzt meine Frage, gibt es eine Möglichkeit, das effizienter (und ggf. wartungsärmer) zu gestalten? Bin leider nicht so der VBA-Profi, wie wahrscheinlich unschwer zu erkennen ist... ;)
Bin für jede Idee dankbar!! Viele Grüße,
Ralf