< návrat zpět

MS Excel


Téma: Vytvoření složky a podsložky na základě hodnot rss

Zaslal/a 4.6.2013 12:40

Ahoj, potřeboval bych poradit, mám makro, které mi vytváří složku na základě hodnot dvou buněk.

Sub VyvorSlozku()
Dim xdir As String
Dim FSO
Dim lstrow As Long
Dim i As Long
Set FSO = CreateObject("Scripting.FileSystemObject")
lstrow = ActiveSheet.Cells(ActiveSheet.Rows.Count, "D").End(xlUp).Row
Application.ScreenUpdating = False
For i = 1 To lstrow
xdir = "C:\" & Range("D" & i).Value & " - " & Range("F" & i).Value
If Not FSO.FolderExists(xdir) Then
FSO.CreateFolder (xdir)
End If
Next
Application.ScreenUpdating = True
End Sub

Ale potřeboval bych do tohoto makra vytvořit proceduru, která by ve vytvořené složce vytvořila podsložku s pevně daným názvem. např "subfolder".

Tzn. vytvoř složku na základě hodnot v buňce D + F a v této složce vytvoř podsložku s názvem "subfolder".

Děkuji za radu.

stop Uzamčeno - nelze přidávat nové příspěvky.

icon #013651
eLCHa
Sub VyvorSlozku2()
Dim xdir As String
xdir = "C:\Users\User\Test"

On Error Resume Next
MkDir xdir
If Err.Number = 0 Then
MkDir xdir & "\SubFolder"
End If
On Error GoTo 0
End Sub
citovat
#013655
avatar
Díky, ale nevím jak to rozchodit? Nevidím tam definované podle jakých složky se má vytvořit název složky? Možná proto se mi ani nic nevytvoří :-)

Díky..citovat
icon #013658
eLCHa
Pokud jste si neupravil
xdir = "C:\Users\User\Test"
na existující adresář, taxe nic nevytvoří, protože neví kde ;)

Zkusil jsem přepsat váš kód, ale nemůžu otestovat - bez přílohy
Sub VyvorSlozku()
Dim xdir As String
Dim lstrow As Long
Dim i As Long
lstrow = ActiveSheet.Cells(ActiveSheet.Rows.Count, "D").End(xlUp).Row
For i = 1 To lstrow
xdir = "C:\" & Range("D" & i).Value & " - " & Range("F" & i).Value
On Error Resume Next
MkDir xdir
If Err.Number = 0 Then 'když existuje, jde dál
MkDir xdir & "\SubFolder"
End If
On Error GoTo 0
Next
End Sub
citovat
#013664
avatar
Adresu jsem si samozřejmě upravil :-)

Tak to už to funguje správně i s podsložkou. Jak jednoduché, jen vědět jak na to. :-)

Díky moc.citovat
#013667
avatar
Věděl by jsi ještě jak udělat aby makro začínalo až od 3. řádku?

Chtěl jsem je definovat jako D3, ale to se mu moc nelíbí.

Děkuji.citovat
icon #013668
eLCHa
For i = 3 To lstrowcitovat
#013674
avatar
6 6 :-)

Děkuji!citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje