Ich habe mal wieder ein Problem:
Ein Tabellenblatt soll auf Knopfdruck in eine neue Datei kopiert werden und dann unter einem
bestimmten Namen und einem festgelegten Pfad gespreichert werden. VBA wird gelöscht.
Außerdem sollen nur die Werte und Formate übertragen werden, keine Formeln! Und genau das
bekomme ich nicht hin.
Ich versuche es schon die ganze Zeit mit
Selection.PasteSpecial Paste:=xlPasteValues
Selection.PasteSpecial Paste:=xlFormats
Aber es funktioniert nicht. Weiß auch nicht wirklich, an welcher Stelle ich das ganze einfügen müßte.
Könnt Ihr mir helfen? - Hier der gesamt Code, der bis auf die Formel-Geschichte einwandfrei
funktioniert:
Sub Send_Blatt_kopieren()
Dim strPath As String
Dim strWert As String
Dim shp As Shape
strPath = "G:\SCM\CS\K-Lager-Übersicht\Reports\" 'Pfad
strWert = ActiveSheet.Range("M3") 'Kunde
Application.ScreenUpdating = False
ActiveSheet.Copy
With ActiveWorkbook
Sheets(1).Name = "CS-Report " & strWert & " " & _
Format(Date, "dd.mm.yy")
For Each shp In Sheets(1).Shapes 'Schaltflächen entfernen
shp.Delete
Next
With .VBProject.VBComponents(.VBProject.VBComponents(2).CodeModule).CodeModule 'VBA- _
Code entfernen
.DeleteLines 1, .CountOfLines
End With
.SaveAs strPath & "Report " & strWert & " vom " & " " & _
Format(Date, "dd mm yyyy") & ".xls"
'.Close
End With
Application.CutCopyMode = False ' Zwischenspeicher löschen
Application.DisplayAlerts = False ' keine Abfrage ob Tabelle gelöscht werden soll
MsgBox "Der Bericht " & strWert & " wurde auf Pfad " & vbCr & _
strPath & vbCr & " mit aktuellem Datum gespeichert!"
Application.ScreenUpdating = True
End Sub
Danke, Gruß,
Ramon