Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1748to1752
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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
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
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
Anzeige
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

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige