ExcelVBA: Kopierte Mappe als Objekt

Hallo VBA-Künstler,

ich kopiere per VBA Befehl eine Tabelle [sheet(„Dienstberatung“).copy] in eine neue Mappe. Diese Neue Mappe soll nun gespeichert werden. Theoretisch geht das ja mit activeWorkbook.save… aber da scheint es probleme zu geben, wenn mehrere mappen geöffnet sind. Daher will ich genau sagen welches Workbook gespeichert werden soll. Ich dachte mir dazu weise ich die neue Mappe einem Objekt zu, aber anscheinend geht das so nich.

was hab ich falsch gemacht? kann jemand helfen?

Dim NeueMappe As New Workbook
Set NeueMappe = Sheets(„Dienstberatung“).Copy

Application.DisplayAlerts = False
NeueMappe.SaveAs Filename:= _
Speicherpfad & Dateiname _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Application.DisplayAlerts = True
NeueMappe.Close

Vielen Dank und Grüße, Chris

ich kopiere per VBA Befehl eine Tabelle
[sheet(„Dienstberatung“).copy] in eine neue Mappe. Diese Neue
Mappe soll nun gespeichert werden. Theoretisch geht das ja mit
activeWorkbook.save… aber da scheint es probleme zu geben,
wenn mehrere mappen geöffnet sind. Daher will ich genau sagen
welches Workbook gespeichert werden soll.

Hallo Chris,

nimm hier nicht den code-Tag sondern den pre-Tag

Sub tt()
Worksheets(„Dienstberatung“).Copy
ActiveWorkbook.SaveAs „C:\Test\kwxyz.xls“
ActiveWorkbook.Close
End Sub

Gruß
Reinhard

Hallo Reinhard,

erstmal Danke für dein Intresse.
Deine Lösung hilft mir leider nicht weiter. In der Zeit wo die neue Mappe erstellt wird kann es passieren, dass der Anwender die Workbooks wechselt. Mit ActiveWorkbook würde dann das gerade angewählte Workbook gespeichert und geschlossen werden. Dieser Fehler tritt zur Zeit auf. Deshalb will ich konkret angeben welches Workbook von VBA genutzt werden soll.
Meine Idee war die neue Mappe einem Objekt zuzuweisen und damit dann zu arbeiten. Nur wie?

Deine Lösung hilft mir leider nicht weiter. In der Zeit wo die
neue Mappe erstellt wird kann es passieren, dass der Anwender
die Workbooks wechselt. Mit ActiveWorkbook würde dann das
gerade angewählte Workbook gespeichert und geschlossen werden.
Dieser Fehler tritt zur Zeit auf. Deshalb will ich konkret
angeben welches Workbook von VBA genutzt werden soll.
Meine Idee war die neue Mappe einem Objekt zuzuweisen und
damit dann zu arbeiten. Nur wie?

Hallo Chris,

wenn da noch der User zwischen den zwei Codes , also …Copy und Set… die Mappen wechselst so ist er sauschnell oder irgendwas im Netzwerk saulangsam :smile:)


Dim NeueMappe As New Workbook
Worksheets(„Dienstberatung“).Copy
Set NeueMappe = ActiveWorkbook

Gruß
Reinhard