HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
VBA nur mit Recorder
ralf_b
15.07.2024 14:38:52
AW: Makro (bitte prüfen) - Aktives Blatt auf Desktop speichern
ersetze die Zeile mit dem Path= inputbox durch diese beiden Zeilen.
 


Dim msg$: msg = "Enter the path in which the sheet is to be saved - the file name extension (.xl??) is automatically added according to the file format!"
Path = InputBox(msg, "Choose Filepath", ActiveWorkbook.Path)


die datei wird übrigens dort gespeichert wenn der Pfad existiert. Wird die inputbox ohne Pfad angezeigt, dann ist die aktive Mappe eine neu erstellte Datei, die noch nicht gespeichert wurde und somit keinen Pfad hat.
Als Antwort auf diesen Beitrag
tuska
15.07.2024 14:03:59
Makro (bitte prüfen) - Aktives Blatt auf Desktop speichern
Hallo,

Ich bitte um Prüfung des Makros "Save_ACTIVE_SHEET_to_specified_PATH".
Grundsätzlich funktioniert das Makro wenn ich den Pfad manuell in das Eingabefeld eintrage.

Mein Problem (bin nur Hobbyanwender und verfüge über keine Programmierkenntnisse):

In der Zeile ... Path = Path & "\" kann ich zwar Pfade zB wie folgt definieren
Path = C:\Everything\Tests\
Path = "D:\Test images\"

Nach Aufruf des Makros werden diese Pfade jedoch nicht berücksichtigt:
- Lasse ich den Pfad leer (Pfad im Makro eingestellt), dann wird das Arbeitsblatt NICHT gespeichert.
- Erwarten würde ich mir als Laie, dass nach Aufruf des Makros das Eingabefeld bereits automatisch mit dem Pfad befüllt ist.

Bitte um Unterstützung.
Danke im voraus für die Bemühungen!

PS:
Ich habe Excel-Version 2021 im Dropdown-Feld ausgewählt es wird jedoch "Excel-Version des Fragestellers: 2022" angezeigt
wenn ich den Beitrag mit Klick auf den Button "Beitrag Vorschau" anzeigen lasse.

Sub Save_ACTIVE_SHEET_to_specified_PATH()

'
' German: In der unten angeführten Zeile -> Path = Path & "\" <- sollten Sie den Standardpfad anpassen können,
' also "C:\bak\" beispielsweise durch einen Netzwerkpfad ersetzen. Bei mir wurde der Pfad nicht automatisch vorgeschlagen
' und ich mußte den gewünschten Pfad manuell einsetzen.
'
' English: In the line below -> Path = Path & "\" <- you should be able to adjust the default path,
' for example, replace "C:\bak\" with a network path. In my case, the path was not suggested automatically
' and I had to enter the desired path manually.
'
Path = InputBox("Enter the path in which the sheet is to be saved - the file name extension (.xl??) is automatically added according to the file format!")
Select Case Right(Path, 1)
Case ""
GoTo ErrorHandler
Case Is <> "\"
Path = Path & "\"
End Select
ActiveSheet.Copy
On Error GoTo ErrorHandler
' ActiveWorkbook.SaveAs Filename:=path & ActiveSheet.Name => Excel 2003
' ActiveWorkbook.SaveAs Filename:=path & ActiveSheet.Name, FileFormat:=52 => Excel 2010: The file name extension can be omitted,
' http://www.herber.de/forum/archiv/1380to1384/t1380461.htm Excel adds them automatically according to the file format.
ActiveWorkbook.SaveAs Filename:=Path & ActiveSheet.Name, FileFormat:=52
ActiveWorkbook.Close Savechanges:=False
Exit Sub
ErrorHandler:
Select Case Err.Number
Case 1004
MsgBox ("Saving was NOT successful! - Check the path...")
ActiveWorkbook.Close Savechanges:=False
Case Else
End Select
End Sub
Antwort auf Beitrag erstellen

Beispieldatei hochladen