Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Automatisches Speichern nach Wert ...

Automatisches Speichern nach Wert ...
27.03.2020 11:04:18
Jochen
Hallo zusammen,
ich stehe mal wieder vor einer für mich unlösbaren Aufgabe.
Ich möchte das beim schließen die Tabelle automatisch in ein auswählbares Laufwerk + Verzeichnis + Unterverzeichnis gespeichert wird wo die Vorgabe in Zelle (A6) steht.
Ist der Pfad vorhanden, speichert er die Tabelle. Wenn nicht, Fehlermeldung!
Mein Problem liegt darin, wie ich es bewerkstellige das die Verzeichnisse erstellt werden wenn der Pfad aus (A6) nicht vorhanden ist.
Siehe Beispieldatei: https://www.herber.de/bbs/user/136149.xlsm
Ich hoffe ihr könnt mir helfen...
lg Jochen
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatisches Speichern nach Wert ...
27.03.2020 11:35:16
UweD
Hallo
so?

Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim LW As String, Pfad As String, Datei As String
Datei = ThisWorkbook.Name
With Sheets("Basis1")
LW = .Range("B1")
If Dir(LW, vbDirectory) = "" Then
MsgBox LW & " existiert nicht"
Cancel = True
Exit Sub
End If
Pfad = LW & .Range("B2") & "\"
If Dir(Pfad, vbDirectory) = "" Then
MkDir Pfad
End If
Pfad = Pfad & .Range("B3") & "\"
If Dir(Pfad, vbDirectory) = "" Then
MkDir Pfad
End If
ThisWorkbook.Save
ThisWorkbook.SaveAs Filename:=Pfad & Datei, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End With
End Sub

LG UweD
Anzeige
AW: Automatisches Speichern nach Wert ...
27.03.2020 11:47:36
Jochen
Großen Dank an UweD
Ist genau das was ich gesucht habe!
Bleibt alle Gesund !!!
lg Jochen
Prima. Danke für die Rückmeldung owT
27.03.2020 11:59:07
UweD
AW: Prima. Danke für die Rückmeldung owT
27.03.2020 12:21:24
Jochen
Hi...
etwas hab ich dann aber doch noch...
Wenn Haupt- und/oder Unterverzeichnis leer ist kommt wieder die bekannte Fehlermeldung.
Kann man das noch irgendwie abfangen?
lg Jochen
Anzeige
AW: Prima. Danke für die Rückmeldung owT
27.03.2020 12:45:41
UweD
Hallo
Ja, das geht.
Es können noch weitere Fehler auftreten
- \ am Ende vergessen
- ungültige Zeichen, die als Verzeichnisname nicht zugelassen sind
- Überschreitung der Länge
- ..
Da kannst du dich nach folgendem Muster austoben.

Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim LW As String, Pfad As String, Datei As String
Datei = ThisWorkbook.Name
With Sheets("Basis1")
LW = .Range("B1")
If Dir(LW, vbDirectory) = "" Then
MsgBox LW & " existiert nicht"
Cancel = True
Exit Sub
End If
If .Range("B2") = "" Then
MsgBox "Hauptverzeichnis Fehler"
Cancel = True
Exit Sub
End If
Pfad = LW & .Range("B2") & "\"
If Dir(Pfad, vbDirectory) = "" Then
MkDir Pfad
End If
If .Range("B3") = "" Then
MsgBox "Unterverzeichnis Fehler"
Cancel = True
Exit Sub
End If
Pfad = Pfad & .Range("B3") & "\"
If Dir(Pfad, vbDirectory) = "" Then
MkDir Pfad
End If
ThisWorkbook.Save
ThisWorkbook.SaveAs Filename:=Pfad & Datei, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End With
End Sub

LG UweD
Anzeige
AW: Prima. Danke für die Rückmeldung owT
27.03.2020 14:09:20
Jochen
Hallo Uwe,
das abfangen klappt perfekt! Daumen hoch
Überschreiben klappt, ersetzen "nein" und "abbrechen" = Fehlermeldung.
Wenn man das noch irgendwie hinbekommen könnte ist die Katze im Sack ;)
lg Jochen
AW: Prima. Danke für die Rückmeldung owT
27.03.2020 14:55:08
UweD
Hallo
soll die Nachfrage ob "Überschrieben werden soll" erscheinen?
Willst du das auswählen,
oder soll generell überschrieben werden, wenn schon da?
LG
Anzeige
AW: Prima. Danke für die Rückmeldung owT
27.03.2020 15:19:34
Jochen
Hallo,
die Nachfrage darf schon erscheinen, ebenso abbrechen.
Die andere Möglichkeit ob generell überschreiben, würde ich mir auch gern ansehen.
Dann bleibt es an mir für welche Variante ich mich entscheide.
lg
AW: Prima. Danke für die Rückmeldung owT
27.03.2020 15:42:12
UweD
Hallo
1)
immer überschreiben, ohne Nachfrage:

ThisWorkbook.Save
Application.DisplayAlerts = False
ThisWorkbook.SaveAs Filename:=Pfad & Datei, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End With
2)
Mit Nachfrage

ThisWorkbook.Save
If Dir(Pfad & Datei)  "" Then
If MsgBox("Datei schon vorhanden! Überschreiben?", vbCritical + vbYesNo, "Warnung")  _
= vbNo Then Exit Sub
Application.DisplayAlerts = False
End If
ThisWorkbook.SaveAs Filename:=Pfad & Datei, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End With
LG UweD
Anzeige
AW: Prima. Danke für die Rückmeldung owT
27.03.2020 15:54:11
Jochen
SUPER DANKE
Funktioniert wie gewünscht! Beide Daumen hoch !!
Schönes WE und bleibt alle hier fein Gesund !!
lg Jochen
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige