ich benötige Hilfe bei folgendem Problem:
Momentan habe ich schon ein Makro laufen, welches per Button komplette Sheets einer anderen Excel-Datei (ImportWkb) in meine Datei (NewWkb) kopiert. siehe Code unten.
Jetzt möchte ich dieses Makro erweitern, sodass aus einer weiteren externen Excel-Datei (ImportWkB2) Daten importiert werden, aber nur bestimmte Zeilen aus bestimmten Sheets.
Bsp.:
In der zweiten Excel-Datei sollen aus Sheet 2 die Reihen 3 & 5 sowie aus Sheet 3 die Reihen 6 & 7 in das Sheet 11 meiner Zieldatei NewWkb kopiert werden. Einfügepunkt sollte B10 sein und die kopierten Reihen einfach untereinander eingefügt werden. Ist sowas möglich?
-----Code-------:
Private Sub CommandButton1_Click()
Dim fname As Variant
Dim NewWkb As Workbook ' destination workbook
Dim ImportWkB As Workbook ' source workbook No1
Dim ImportWkB2 As Workbook ' the second excel source-file
Dim sh As Variant 'sheets
Dim DestRange As Range
Set NewWkb = ThisWorkbook
fname = Application.GetOpenFilename("Excel-Data-Input,*.xls", ,
"Source")
If fname <> False Then
Application.ScreenUpdating = False
Set ImportWkB = Workbooks.Open(fname, ReadOnly:=True, UpdateLinks:=0)
For Each sh In ImportWkB.Sheets
NewWkb.Sheets(sh.Index + 4).Cells.UnMerge 'start adding sheets in sheet 5 of newwkb
Set DestRange = NewWkb.Sheets(sh.Index + 4).Range("B10")
sh.UsedRange.Copy
With DestRange
.PasteSpecial xlPasteValues, , False, False
.PasteSpecial xlPasteFormats, , False, False
End With
Set DestRange = Nothing
Application.CutCopyMode = False
If sh.Index >= 6 Then Exit For 'only 6 sheets should be imported
Next sh
ImportWkB.Close False