Hallo Huggybear,
trivial ist es nicht, aber auch kein Hexenwerk. Hier Haupt-Makro und Subroutine, die die Daten kopieren, so dass sie an der aktiven Zelle oder beliebiger ander Position eingefügt werden können.
Wenn du konkretere Vorgaben für das Einfügen hast, dann kann man die natürlich auch noch ergänzen.
Gruß
Franz
'Code in einem allgemeinen Modul entweder der Datei oder der \_
persönlichen Makroarbeitsmappe
'
Sub Daten\_Kopieren\_in\_Basis\_AB()
'Daten in Spalten A bis B des Blattes "Basis" kopieren
Call prcDaten\_in\_Spalten\_kopieren(SpalteVon:=1, SpalteBis:=2, \_
Zeile\_1:=1, wks:=ActiveWorkbook.Worksheets("Basis"))
End Sub
Sub prcDaten\_in\_Spalten\_kopieren(SpalteVon As Long, SpalteBis As Long, \_
Optional Zeile\_1 As Long = 1, Optional wks As Worksheet)
'Daten gemäß Parametern in einem Spaltenbereich kopieren
Dim rngBereich As Range
If wks Is Nothing Then Set wks = ActiveSheet
With wks
'letzte Zeile mit Daten in den zu kopierenden Spalten
Set rngBereich = .Range(.Columns(SpalteVon), .Columns(SpalteBis)).Find(what:="\*", \_
After:=.Cells(1, SpalteVon), LookIn:=xlFormulas, lookat:=xlWhole, \_
searchorder:=xlByRows, searchdirection:=xlPrevious)
If rngBereich Is Nothing Then
MsgBox "Keine Daten in den zu kopierenden Spalten des Blattes """ & .Name & """"
Else
.Range(.Cells(Zeile\_1, SpalteVon), .Cells(rngBereich.Row, SpalteBis)).Copy
If MsgBox("Daten bereit zum Einfügen. Jetzt ab aktiver Zelle einfügen?", \_
vbQuestion + vbYesNo, "Daten kopieren") = vbYes Then
ActiveCell.PasteSpecial Paste:=xlPasteAll
End If
End If
End With
End Sub