Microsoft Excel

Herbers Excel/VBA-Archiv

VBA Speichern unter als XLS

Betrifft: VBA Speichern unter als XLS von: Alex
Geschrieben am: 02.02.2020 09:51:40

Hallo,


ein Excel-Arbeitsblatt soll als XLS Datei gespeichert werden.


Den Speicherort soll der Benutzer jedes mal selbst aussuchen.


Es soll sich also das "Speichern unter Fenster" öffnen und voreinfgestellt soll xls sein.





Mein aktueller Code sieht so aus:





ActiveWorkbook.SaveAs , FileFormat:=xlExcel8

Application.Dialogs(xlDialogSaveAs).Show

ActiveWorkbook.Close savechanges:=False





Das Problem ist, dass er mir so die Datei immer 2 mal speichert und zwar das erste mal dort, wo ich zuletzt eine Datei gespeichert habe. In der ersten Zeile habe ich die Anweisung speicher als XLS und in der zweiten öffnet sich der Dialog "speichern unter".

Wie kriege ich das zusammen?


Office 365 ProPlus.


Vielen Dank schon mal.



Alex

Betrifft: AW: VBA Speichern unter als XLS
von: Beverly
Geschrieben am: 02.02.2020 10:09:18

Hi Alex,

vielleicht so:
Sub Speichern()
    Dim Name
    ' Vorauswahl Speicherpfad anpassen!!
    Name = Application.GetSaveAsFilename("E:\Z_Test\" & "*.xls", _
        fileFilter:="Excel97-2003 Arbeitsmappe (*.xls), *.xls")
    If Name <> False Then
        ActiveWorkbook.SaveAs Name, FileFormat:= _
            xlExcel8, CreateBackup:=False
        ActiveWorkbook.Close savechanges:=False 
    End If
End Sub

GrußformelBeverly's Excel - Inn

Betrifft: AW: VBA Speichern unter als XLS
von: Alex
Geschrieben am: 02.02.2020 10:34:29

Hallo Karin,

wow. Das klappt schon mal Prima. Herzlichen Dank.

Jetzt bräuchte ich das Ganze nur noch zusätzlich für CSV Files.
Das Problem ist, dass dort auch Datums- bzw. Uhrzeitangaben vorhanden sind.


Ich habe schon etwas rumprobiert, aber anstelle von 19.02.20 00:00
speichert er das Datum/Uhrzeit so: 19/02/20 00:00,44,,,,

Gibt´s dafür auch eine Lösung?
VG,
Alex

Betrifft: AW: VBA Speichern unter als XLS
von: Beverly
Geschrieben am: 02.02.2020 12:40:09

Hi Alex,

das Zeichen ":" in der Uhrzeit ist ein für Dateinamen verbotenes Zeichen - ersetzte es z.B. durch "-"


GrußformelBeverly's Excel - Inn

Betrifft: AW: VBA Speichern unter als XLS
von: Alex
Geschrieben am: 02.02.2020 16:22:59

Hi Karin,

danke, aber ich habe einfach deinen code um ,Local:=True erweitert und schon ging es.

Vielen Dank. Du hast mir sehr sehr geholfen!


Dim Name
' Vorauswahl Speicherpfad anpassen!!
Name = Application.GetSaveAsFilename("E:\Z_Test\" & "Schedule_SAP15.csv", _
fileFilter:="Excel97-2003 Arbeitsmappe (*.csv), *.csv")
If Name <> False Then
ActiveWorkbook.SaveAs Name, FileFormat:= _
xlCSV, CreateBackup:=False, Local:=True
ActiveWorkbook.Close savechanges:=False
End If

Betrifft: AW: VBA Speichern unter als XLS
von: Werner
Geschrieben am: 02.02.2020 19:22:44

Hallo,

scheint ja wohl gelöst zu sein.

Das dann im VBA-Forum auch mitzuteilen hälst du aber wohl nicht für notwendig.

Gruß Werner

Betrifft: AW: VBA Speichern unter als XLS
von: Beverly
Geschrieben am: 02.02.2020 19:49:41

Hi Alex,

du solltest die Lösung auch in dem anderen Forum posten, damit auch die dortigen User davon profitieren können.


GrußformelBeverly's Excel - Inn

Betrifft: z.K. hier auch noch
von: Werner
Geschrieben am: 02.02.2020 12:41:10

http://www.vba-forum.de/forum/View.aspx?ziel=56630-Speichern_unter_als_xls

Beiträge aus dem Excel-Forum zum Thema "VBA Speichern unter als XLS "