ich versuche mit einem VBA-Code ein Excelblatt zu kopieren und anschließend ohne Formeln als Werte mit gleicher Formatierung in einem neuen Tabellenblatt zu öffnen. Der Code klappt bei einem einfachen Blatt tadellos. Ich möchte den Code aber für ein Blatt mit einigen Formeln nutzen, auf dem Leer-Zeilen mit einem Auto-Filter ausgeblendet werden. Diese ausgeblendeten Leerzeilen sollen nicht mitkopiert werden. Wenn ich den Code aktivier, wird das Tabellenblatt in einer neuen Tabelle geöffnent und es wird alles kopiert (inkl. Formeln). Dabei erhalte ich den Fehler "Laufzeit-Fehler 1004: Sie können dies hier nicht einfügen, da der Kopier-Bereich und der Einfügebereich nicht die gleiche Größe haben..."
Ich nutze Excel 2016. Der Code sieht folgendermaßen aus:
Private Sub CommandButton2_Click()
Dim strTabelle As String
strTabelle = "Proforma Product engl."
Sheets(strTabelle).Copy
With ActiveSheet.UsedRange
.Copy
.PasteSpecial Paste:=xlValues
End With
Application.CutCopyMode = False
For intAnzahl = ActiveSheet.OLEObjects.Count To 1 Step -1
If ActiveSheet.OLEObjects(intAnzahl).progID = "Forms.CommandButton.2" Then
ActiveSheet.OLEObjects(intAnzahl).Delete
End If
Next
FileSaveName = Application.GetSaveAsFilename(fileFilter:="Microsoft Excel-Arbeitsmappe (*.xlsx), _
_
_
*.xlsx")
If FileSaveName False Then
ActiveWorkbook.SaveAs FileSaveName
End If
End Sub