habe eine Vorlagedatei, diese ist in dem Verzeichnis
C:\Users\andreas.\Desktop\Verschieben Test
gespeichert.
Diese Datei wird dann geöffnet und unter neuem Namen abgespeichert und in
C:\Users\andreas\Desktop\Verschieben Test\Auftragserfassung
abgelegt.
Das passiert automatisch mit meiner VBA1, (unten)
Habe in diesem Verzeichnis noch 4 Stationen, in die das Dokument automatisch verschoben wird,
sobald die Arbeitsvorgänge auf Erledigt gesetzt werden.
Außerdem gibt es noch die VBA2, die mir einen Ordner in dem Verzeichnis
C:\Users\andreas\Desktop\Verschieben Test\Versendet
erstellt. Der Ordnername, wird automatisch vergeben und setzt sich aus den Feldern A7-A9 zusammen.
Mein Ziel ist es, dass die Datei sobald der letzte Arbeitsschritt auf Erledigt gesetzt wird, in den Ordner verschoben wird,
der am Anfang dafür auch erstellt wurde.
Gerne kann auch der Dateiname automatisch aus diesen 3 Feldern erzeugt werden, wenn das dann nachher einfacher ist.
Hier meine Datei: https://www.herber.de/bbs/user/145949.xlsm
Vielen Dank vorab für eure Hilfe
Gruß Andreas
VBA1:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Pfad As String, Von As String, Nach As String
Dim V1 As String, V2 As String, V3 As String, V4 As String
Dim Z1 As Integer, RNG As Range, Aktion As String, Wb As Workbook
Set Wb = ThisWorkbook
Set RNG = Range("C:F")
Z1 = 6
Aktion = "Erledigt"
Pfad = "C:\Users\andreas\Desktop\Verschieben Test\" 'inkl. \ am Ende
V1 = "Auftragserfassung"
V2 = "Versandbereit"
V3 = "Versendet"
V4 = "Abgeschlossen"
If Target.Row = Z1 Then
If Not Intersect(RNG, Target) Is Nothing Then
If Trim(Target) = Aktion Then
Select Case Trim(Target.Offset(-1, 0))
Case V1
Nach = V1
Case V2
Von = V1
Nach = V2
Case V3
Von = V2
Nach = V3
Case V4
Von = V3
Nach = V4
End Select
Wb.SaveAs Pfad & Nach & "\" & Wb.Name
If Dir(Pfad & Von & "\" & Wb.Name) "" Then
Kill Pfad & Von & "\" & Wb.Name
End If
End If
End If
End If
End Sub
VBA2:Sub OrdnerErstellen()
MkDir "X:\Vertrieb\Versendet\" & Range("A7") & "-" & Range("A8") & "_" & Range("A9")
End Sub