Ono treba trochu porozmýšľať a prispôsobiť...
Toto máš z vyššie spomínaných stránok Lasákových, kód je upravený tak, aby nepísal obsah do ListBoxu, ale do buniek Excelu.
Predložené makro si naviaž na svoje tlačidlo, alebo spúšťaj z Vývojára, alebo to daj do procedúry spúšťajúcej sa pri otvorení súboru.
(Editor máš zaheslovaný a spúšťať neznáme makro - sorry, ale nebudem, takže by bolo vhodné odomknúť, aby sme mohli pozrieť čo a ako to pracuje, dať heslo, alebo sem rovno napísať onen utajený kód...)
Nižšie uvedené makro Ti vypíše zložky toho adresára, v ktorom sa nachádza súbor s týmto makrom.
Ideálne by bolo otvoriť okno pre výber adresára, ktorého výpis chceš získať, ale neviem ti to takto z hlavy povedať a nemám ani čas pátrať po tom.
Ak Ti niektorý z ostatných znalcov z poradne poskytne k tomu ďalšie info, môžeš si to doplniť a upraviť (a zároveň poskytne cennú informáciu mne)
Sub VypisAdresarov()
Columns("A:A").ClearContents
Range("A1") = "Výpis aktuálneho adresára"
ZvolenyAdresar = ActiveWorkbook.Path & "\"
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(ZvolenyAdresar)
Set fc = f.SubFolders
i = 2
For Each f1 In fc
polozka = f1.Name
Range("A" & i) = polozka
i = i + 1
Next
End Sub
Dúfam, že aplikovať si to už dokážeš, lebo inak je to naozaj na štúdium...