Onderstaande VBA code maakt mappen en submappen met namen zoals deze zijn ingegeven op worksheet folders. Om de submappen aan te maken wijzigt de code de namen van de submappen door de naamgeving van de parent mappen ervoor te zetten (maken van het pad).
Nu wil ik graag voor dat dit gebeurd de worksheet tijdelijk opslaan om wanneer de mappen en submappen zijn aangemaakt deze gegevens weer terug te plaatsen. Ik heb dit al geprobeerd met een range en copy alleen zonder het gewenste resultaat.
Gewenste resultaat, volgorde:
1) maak kopie gegevens worksheet
2) voer onderstaande code uit
3) zet gegevens worksheet terug uit punt 1
Weet iemand een goede oplossing?
Nu wil ik graag voor dat dit gebeurd de worksheet tijdelijk opslaan om wanneer de mappen en submappen zijn aangemaakt deze gegevens weer terug te plaatsen. Ik heb dit al geprobeerd met een range en copy alleen zonder het gewenste resultaat.
Gewenste resultaat, volgorde:
1) maak kopie gegevens worksheet
2) voer onderstaande code uit
3) zet gegevens worksheet terug uit punt 1
Weet iemand een goede oplossing?
Code:
Option Explicit
Sub createFolders()
Dim fpath As String
Dim i, xc As Integer
Dim rng As Range
On Error Resume Next
'Set rng = Worksheets("Folders").Range("A1:Z100")
Worksheets("Folders").Range("A1:Z100").Copy
For i = 1 To ActiveSheet.UsedRange.Rows.Count
xc = Range("XFD" & i).End(xlToLeft).Column
If xc = 1 Then
fpath = Cells(i, xc).Value
Else
fpath = Cells(Cells(i, xc - 1).End(xlUp).Row, xc - 1).Value & "/" & Cells(i, xc).Value
Cells(i, xc).Value = fpath
End If
MkDir ("C:\users\Admin\Desktop\" & fpath)
If Err.Number <> 0 Then
Err.Clear
End If
Next
'Worksheets("Folders").Range("A1").Resize(rng.Rows.Count, rng.Columns.Count).Cells.Value = rng.Cells.Value
Worksheets("Folders").Range("A1").PasteSpecial Paste:=xlPasteValues
End Sub
Laatst bewerkt: