Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
900to904
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
900to904
900to904
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dynamisches Copy-Paste

Dynamisches Copy-Paste
04.09.2007 04:39:11
Ralf
Einen wunderschönen guten Morgen allen!
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

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dynamisches Copy-Paste
04.09.2007 09:17:00
Harry
Hallo
soweit die zu kopierenden Bereiche einen konstanten Abstand von 110 Zeilen haben, eine weitere For...Next-Schleife einbauen.

Dim iLV as integer ' neue Laufvariable
Deine For-Schleife
For iLV = 0 to Anzahl - 1 ' Anzahl deiner "Sachen" =20 (?)
If Worksheets(x).Name = Worksheets("Source").Range("C" & LV *110 + 2) Then
Worksheets("Source").Range("C" & LV *110 + 8 & ":C" & LV *110 + 98).Offset(0, o) _
.copy 'Source1
Worksheets(x).Range("B8:B34").PasteSpecial Paste:=xlValues 'Target1
Worksheets("Source").Range("T" & LV *110 + 8 & ":T" & LV *110 + 98).Offset(0, o) _
.copy
Worksheets(x).Range("C8:C34").PasteSpecial Paste:=xlValues
iLV = Anzahl-1
End if
Next
'hier weiterer Inhalt deiner For-Next-Schleife
Dein Next


Gruß
Harry

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige