Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

[VBA] Blätter kopieren, ohne Formeln aber mit Werten und Formaten
#1
Hallo zusammen,

folgenden Code habe ich um meine Blätter in eine neue Arbeitsmappe zu kopieren.

Code:
Sub kopieren()
Dim strName$
strName = Worksheets("PickUp").Range("SaveAsMonat").Value
Application.DisplayAlerts = False
On Error GoTo Fehler:
Worksheets(Array("PickUp", "Auswertung")).Copy
ActiveWorkbook.SaveAs _
 ThisWorkbook.Path & "\" & strName & " " & Format(Date, "DD-MM-YYYY") & ".xlsx", FileFormat:=51
Exit Sub

Fehler:
Application.DisplayAlerts = True
MsgBox "Ein Fehler ist aufgetreten!" & vbNewLine & _
 "Fehler Nummer: " & Err.Number & vbNewLine & _
 Err.Description
End Sub

Ich möchte aber lediglich alle Werte und Formate übernehmen und keine Formeln oder Namen (Namens-Manager).
So ganz funktioniert es noch nicht. Erkennt jemand den Fehler?

Danke und VG
Antwortento top
#2
Hallo Jules,

wenn Du einen Fehler suchst, dann wäre das die Speicherung eines kompletten Blattes. Da ist nun mal alles dabei was Du nicht brauchst.

Wenn Du eine Lösung suchst, dann könntest Du
- zuerst das Blatt kopieren
- dann die Daten kopieren und als Werte einfügen
- dann die Namen entfernen
- dann speichern

Smile
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
Antwortento top
#3
Servus Smile

Das klingt vernünftig. Hättest du da auch einen VBA-Vorschlag für mich? Stehe nämlich gerade auf dem Schlauch

LG
Antwortento top
#4
Hallo Jules,

das kannst du eigentlich wunderbar mit dem Makrorekorder aufzeichnen. Den Code für das Kopieren bzw. eigentlich neu Abspeichern der Mappe hast du ja bereits. Den aufgezeichneten Code fügst du dann einfach vor dem "Exit Sub" an.
Schöne Grüße
Berni
Antwortento top
#5
Moin,

danke @alle für die Anregungen.
Hab es hinbekommen.

Code:
Dim strName$
strName = Worksheets("PickUp").Range("SaveAsMonat").Value
Application.DisplayAlerts = False
On Error GoTo Fehler:

Worksheets(Array("PickUp", "Auswertung")).Copy
With ActiveWorkbook
       For Each wksSheet In .Worksheets
           wksSheet.UsedRange.Value = wksSheet.UsedRange.Value
       Next wksSheet
ActiveWorkbook.SaveAs _
ThisWorkbook.Path & "\" & strName & " " & Format(Date, "DD-MM-YYYY") & ".xlsx", FileFormat:=51
.Close False

End With
Exit Sub

Grüße
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste