nachfolgender Code leistet gute Dienste. Er soll aber nicht den kompletten Bereich kopieren, sondern nur B3:I500, ohne Makros, mit Zelleninhalt und Formatierungen.
I500 deshalb, weil der Bereich auch Leerzeilen hat und somit kann ich das Ende der letzten befüllten Zeile nicht finden. Den UsedRange kann ich unmöglich anpassen. Darum meine Hilferuf :-) In B4 steht immer der Dateiname und das passt wunderbar, dass das Sheet mit dem Dateinamen automatisch benannt wird.
Vielen Dank. VG Eisi :-)
Public Sub AngebotInExcelCopy2()
Dim wbkQuelle As Workbook
Dim wbkZiel As Workbook
Dim wksQuelle As Worksheet
Set wbkQuelle = Workbooks("AngebotsTool.xlsm")
Set wbkZiel = Workbooks("AlleAngebote.xlsx")
Set wksQuelle = wbkQuelle.Worksheets("AngebotDrucken")
wksQuelle.Copy After:=wbkZiel.Sheets(wbkZiel.Sheets.Count)
With ActiveSheet.UsedRange
.Value = .Value
End With
ActiveSheet.Name = Range("B4").Text
tbl_AngebotDrucken.Protect ("")
End Sub