Clever-Excel-Forum

Normale Version: Kopieren von Zeilen mit Variable
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Morgen zusammen

Ich hoffe auf eure Hilfe für folgendes Problem:

Ausgangslage
1. Ich habe 2 Files (File1.xlsm und File2.xlsm)
2. File 1 hat verschiedene Tabellenblätter die mit ISIN-Nummern (X ISIN) benannt sind und in welchen Details zu den ISIN-Nummern abgelegt sind.
3. File 2 hat verschiedene Tabellenblätter die mit Depotnummern benannt sind und in jedem Tabellenblatt unterschiedlich viele Einträge mit Wertschriftenpositionen (ISIN-Nummern) vorhanden sind. Die jeweiligen ISIN-Nummern stehen in der Spalte D.


Ich möchte nun unterhalb dieser Wertschriftenpositionen im File 2 die Details zu allen einzelnen ISIN-Nummern aus dem File1 hineinkopieren.

Ich habe den unten stehenden Code geschrieben (bin ein Laie Wink), jedoch ohne die Variable ISIN. Diese ändert sich ja gem. Einträge von Spalte D in File 2 und korrespondiert auch mit den Tabellenblätternamen des Files 1.

Ich hoffe, der Beschrieb ist einigermassen verständlich.

------------------

Sub test3()

Dim LetzteZeile As Long


Windows("File2.xlsm").Activate

LetzteZeile = ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row
Depotnummer = ActiveSheet.Name

For Each Zelle In Range("D2:D" & LetzteZeile)


Windows("File1.xlsm").Activate
Sheets("CH0032912732 ISIN").Rows("5:14").Copy

Windows("File2.xlsm").Activate
Sheets(Depotnummer).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste


Next

Worksheets(Depotnummer).Activate


End Sub

----------------------

Danke für eure Hilfe
Hallo

um ein gutes Makro zu schreiben fehlen noch ein paar Angaben.  Ich gehe davon aus das die ISIN Details nicht immer die Zeilen von 5:14 umfassen??  Das sie variabel sein können. Zum einfügen in die DepotNummern Tabellen müsste man m.E. die Zeilen ab der ISIN Nummer in Spalte D nach unten verschieben. Oder sollen die Daten alle hinter den ISIN Nummern angehangen werden??  Das ist mir noch unklar.

mfg  Gast 123
Hallöchen,

wenn die ISIN-Nr. in Spalte D stehen, dann kannst Du doch daraus den Blattnamen bilden, z.B.

Sheets(Zelle.Value).Rows("5:14").Copy

oder wenn dort nur die "Nr." steht kannst Du den Namen auch zusammensetzen:

Sheets(Zelle.Value & " ISIN").Rows("5:14").Copy
Besten Dank für eure Hilfe. Bin euch dankbar. Hat funktioniert.