Kopieren von Zeilen mit Variable
#1
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
Antworten Top
#2
CP:
https://www.ms-office-forum.net/forum/sh...p?t=355369
Schöne Grüße
Berni
Antworten Top
#3
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
Antworten Top
#4
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
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
Besten Dank für eure Hilfe. Bin euch dankbar. Hat funktioniert.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste