Anzeige
Archiv - Navigation
1444to1448
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

Ordner synchronisieren

Ordner synchronisieren
16.09.2015 08:23:36
Jan
Guten Morgen Excel-Profis!
Ich hoffe mal jemand kann mir einen Denkanstoß geben, wie ich das am besten mit VBA lösen kann:
Ich habe 3 Ordner in denen jeweils eine unterschiedliche Anzahl an Excel-Files ist. Die 3 Ordner heißen 2014, 2015 und 2016. Sämtliche Dateien sind gemäß folgendem Schema benannt: 03-XXXX_2014.xlsx, 03-XXXX_2015.xlsx und 03-XXXX_2016.xlsx, wobei die Dateien natürlich schon im "richtigen" Ordner liegen. Das "XXXX" steht für eine Ziffernfolge, welche von Datei zu Datei unterschiedlich ist, es gibt aber durchaus Dateien mit derselben Ziffernfolge, aber unterschiedlicher Endung, je nach Jahr. Hintergrund: Das sind Kostenstellen, betrachtet in 3 Jahren. Manche Kostenstellen werden jedoch aufgelöst und andere neu erschaffen, wieder andere bestehen die kompletten 3 Jahre. Das ist soweit der Ist-Zustand.
Was ich gerne hinbekommen würde ist, dass in jedem der drei Ordner nach Ausführen des Makros die Dateianzahl gleich ist, also das für alle Dateien, welche in einem Ordner eventuell nicht vorkommen, (leere) Dummydateien mit der richtigen Benennung erstellt werden.
Beispiel:
IST:
Ordner "2014":
03-1111_2014.xlsx;
03-2222_2014.xlsx;
03-3333_2014.xlsx
Ordner "2015":
03-1111_2015.xlsx;
03-2222_2015.xlsx;
03-4444_2015.xlsx;
03-5555_2015.xlsx
Ordner "2016":
03-1111_2016.xlsx;
03-4444_2016.xlsx;
03-6666_2016.xlsx
SOLL:
Ordner "2014":
03-1111_2014.xlsx;
03-2222_2014.xlsx;
03-3333_2014.xlsx;
03-4444_2014.xlsx (Dummy);
03-5555_2014.xlsx (Dummy);
03-6666_2014.xlsx (Dummy)
Ordner "2015":
03-1111_2015.xlsx;
03-2222_2015.xlsx;
03-3333_2015.xlsx (Dummy)
03-4444_2015.xlsx;
03-5555_2015.xlsx;
03-6666_2015.xlsx (Dummy)
Ordner "2016":
03-1111_2016.xlsx;
03-2222_2016.xlsx (Dummy);
03-3333_2016.xlsx (Dummy);
03-4444_2016.xlsx;
03-5555_2016.xlsx (Dummy);
03-6666_2016.xlsx
Entschuldigt den vielen Text, ich hoffe ich konnte mein Problem veranschaulichen. Für alle Hilfe bin ich, wie so oft, sehr dankbar und wünsche einen guten Start in den Tag!
Gruß, Jan

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ordner synchronisieren
16.09.2015 12:12:42
Rudi
hallo,
Sub aaa()
Dim strFile, arrSubFldr, i As Integer
Dim oFiles As Object, oF
Dim Dummy As Workbook
Const strPfad As String = "c:\test\"
Set oFiles = CreateObject("scripting.dictionary")
arrSubFldr = Array("2014", "2015", "2016")
For i = 0 To 2
strFile = Dir(strPfad & arrSubFldr(i) & "\" & "*.xlsx")
Do While Len(strFile)
oFiles(Mid(strFile, 4, 4)) = 0
strFile = Dir
Loop
Next
For i = 0 To 2
For Each oF In oFiles
strFile = strPfad & arrSubFldr(i) & "\" _
& "03_" & oF & "_" _
& arrSubFldr(i)
If Dir(strFile & ".xlsx") = "" Then
If Dummy Is Nothing Then
Set Dummy = Workbooks.Add
End If
With Dummy
.SaveAs Filename:=strFile, FileFormat:=xlOpenXMLWorkbook
End With
End If
Next oF
Next i
If Not Dummy Is Nothing Then Dummy.Close False
End Sub

Gruß
Rudi

Anzeige
AW: Ordner synchronisieren
16.09.2015 12:55:25
Jan
Wow Rudi,
funktioniert ohne irgendeine Beanstandung und exakt so, wie ich mir das erhofft habe. Ganz großes Danke an dich, ich bin immer wieder fasziniert, wie bereitwillig einem hier geholfen wird!
Noch einen schönen Tag dir!
Gruß, Jan

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige