Microsoft Excel

Herbers Excel/VBA-Archiv

Problem beim Speichern eines Blattes (VBA)


Betrifft: Problem beim Speichern eines Blattes (VBA) von: Markus
Geschrieben am: 10.10.2017 09:19:15

Hallo,

ich möchte gerne aus meiner aktiven Datei ein einzelnes Blatt als separate Datei abspeichern.

Die aktive Datei enthält Makros und ist im Format .xlsm gespeichert.
Das zu speichernde Blatt ist Blatt 2.
Die neue Datei soll nur das Blatt 2 aus der aktiven Datei enthalten und als .xlsx gespeichert werden.

Ich habe es mit folgendem Code probiert, das scheint aber die aktive Datei umzubenennen, da ich hier eine Meldung erhalte, die fragt, ob ich mit Makros speichern möchte.

Kann mir jemand sagen, wie ich es richtig mache ?
Außerdem wüsste ich gerne, wie ich eine Datei automatisch überschreiben kann, falls eine Datei mit dem Namen der Zieldatei hier bereits besteht.

Mein Code:

    With ActiveWorkbook
        .Worksheets(2).Copy
        .SaveAs _
            Filename:=varPrintListPath & varPrintListMaster & ".xlsx", FileFormat:= _
xlOpenXMLWorkbook
    End With
Vielen Dank im Voraus für Eure Hilfe,
Markus

  

Betrifft: AW: Problem beim Speichern eines Blattes (VBA) von: Michael (migre)
Geschrieben am: 10.10.2017 11:05:00

Hallo!

Ungetestet, weil ich den Inhalt Deiner Variablen varPrintListPath etc. nicht kenne:

Sub BlattZweiOhneMakrosSpeichern()

    Dim WbQ As Workbook: Set WbQ = ThisWorkbook
    Dim WsQ As Worksheet: Set WsQ = WbQ.Worksheets(2)
    Dim WbZ As Workbook, WsZ As Worksheet
    
    Set WbZ = Workbooks.Add(xlWBATWorksheet)
    Set WsZ = WbZ.Worksheets(1)
    WsQ.UsedRange.Copy
    WsZ.Cells(1, 1).PasteSpecial xlPasteValues
    WsZ.Cells(1, 1).PasteSpecial xlPasteFormats
    Application.DisplayAlerts = False
    WbZ.SaveAs Filename:=varprintlistpath & varprintlistmaster, _
               FileFormat:=xlWorkbookDefault
    WbZ.Close
    Application.DisplayAlerts = True
    
    Set WbQ = Nothing: Set WsQ = Nothing
    Set WbZ = Nothing: Set WsZ = Nothing
End Sub
Diese Routine kopiert die Inhalte und Formate des gesamten verwendeten Blattbereichs des 2. Blattes der Quell-Mappe in eine neu erstellte Ziel-Mappe (mit nur einem Tabellenblatt), speichert die neue Mappe und schließt sie. Durch die Unterdrückung des Warnhinweises wird eine evtl. vorhandene Datei überschrieben.

LG
Michael


  

Betrifft: AW: Problem beim Speichern eines Blattes (VBA) von: Markus
Geschrieben am: 10.10.2017 11:39:00

Hallo Michael,

vielen Dank für die schnelle Antwort !

Mit Deinem Ansatz klappt es perfekt
(ich musste nur den Filename wie folgt anpassen: Filename:=varPrintListPath & varPrintListMaster & ".xlsx", FileFormat:=xlOpenXMLWorkbook).

Genau, was ich gesucht hatte. :)

VG und einen schönen Nachmittag,
Markus


  

Betrifft: Gern, Danke für die Rückmeldung, owT von: Michael (migre)
Geschrieben am: 10.10.2017 14:05:56




Beiträge aus den Excel-Beispielen zum Thema "Problem beim Speichern eines Blattes (VBA)"