< 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

On-line nástroje

Formulář Faktura

Formulář Faktura IV

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

Aktivní diskuse

Řazení podle času v kategoriích

veny • 16.7. 11:34

špatný výpočet ze zisku - příčina?

Anonym • 12.7. 22:56

špatný výpočet ze zisku - příčina?

Jakoby • 12.7. 12:35

Řazení podle času v kategoriích

Marekh • 12.7. 9:55

Porovnávací Tabulka

Jess • 8.7. 20:49

Vzorec pro zkopírování obsahu buňky.

veny • 6.7. 8:28

Vzorec pro zkopírování obsahu buňky.

Tonda_Hu • 5.7. 21:17