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

Ordner synchronisieren

Forumthread: 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

Anzeige

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