Public Sub Ein_Blatt_kopieren()
Dim WkBk_Quelle As Workbook ' das Herkunfts-Workbook - die Quelle
Dim WSh_Quelle As Worksheet ' das Herkunfts-Tabellenblatt
Dim rBlock_Q As Range ' der zu kopierende Block
Dim WkBk_Ziel As Workbook ' das Empfangs-Workbook - das Ziel
Dim WSh_Ziel As Worksheet ' das Empfangs-Tabellenblatt
Dim lZeile_Z As Long ' die jeweilige Start-Zeile im Ziel-Blatt
Set WkBk_Ziel = ActiveWorkbook ' diese Datei ist das Ziel !!!
Set WSh_Ziel = WkBk_Ziel.Worksheets("Daten einlesen") ' das Tabellenblatt ggf. anpassen !!!
lZeile_Z = 1 ' die erste zu beschreibende Zeile
Application.ScreenUpdating = False ' den Bildschirm-Update unterdrücken
Set WkBk_Quelle = Workbooks.Open(Filename:= _
"C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Excel-Dateien\" & _
"Arbeitsdaten.xls", ReadOnly:=True) ' die Herkunfts-Datei - die Quelle - öffnen
Set WSh_Quelle = WkBk_Quelle.Worksheets("Quelldaten") ' das Tabellenblatt benennen
With WSh_Quelle ' mit dem jeweiligen Tabellenblatt arbeiten
Set rBlock_Q = .Range(.Cells(1, 1), .Cells.SpecialCells(xlLastCell))
rBlock_Q.Copy
WSh_Ziel.Cells(lZeile_Z, 1).PasteSpecial Paste:=xlFormats
WSh_Ziel.Cells(lZeile_Z, 1).PasteSpecial Paste:=xlValues
lZeile_Z = lZeile_Z + rBlock_Q.Rows.Count
End With
Application.CutCopyMode = False
WkBk_Quelle.Close savechanges:=False
Application.ScreenUpdating = True ' den Bildschirm-Update wieder zulassen
End Sub
Gruß Peter