Jump to content
Guest Yamid Cano

Selecciona carpeta traer nombre y tamaño

Recommended Posts

Guest Yamid Cano

hola tengo una macro que al seleccionar una carpeta me trae los nombres y tamaño de las subcarptas. hasta hay funciona bien... pero cuando selecciono un directorio con bastantes carpetas me sale error..

También me gustaría una segunda macro donde al seleccionar la carpeta me traiga en nombre y el peso de esa carpeta 

dejo adjunto archivo

 

Libro.xlsm

Share this post


Link to post
Share on other sites

Hola Yamid

Recuerda que para traer el detalle de las subcarpetas, se debe recorrer por niveles, es decir el árbol de carpetas puede ser más o menos extendido, porque una carpeta, puede o no contener subcarpetas y esa subcarpeta puede tener más, así sucesivamente... 

Entonces ese nivel debes ponerlo en VBA, mediante más bucles 

Te adjunto mi opción con 2 niveles, Excel va incluir las primeras carpetas y luego las subcarpetas y el tamaño de cada una

Agregue el total de carpetas y el tamaño total de todas 

 

Saludos 

Detallar carpetas y subcarpetas.zip

Share this post


Link to post
Share on other sites
Guest Yamid Cano
Hace 22 horas, Gerson Pineda dijo:

Hola Yamid

Recuerda que para traer el detalle de las subcarpetas, se debe recorrer por niveles, es decir el árbol de carpetas puede ser más o menos extendido, porque una carpeta, puede o no contener subcarpetas y esa subcarpeta puede tener más, así sucesivamente... 

Entonces ese nivel debes ponerlo en VBA, mediante más bucles 

Te adjunto mi opción con 2 niveles, Excel va incluir las primeras carpetas y luego las subcarpetas y el tamaño de cada una

Agregue el total de carpetas y el tamaño total de todas 

 

Saludos 

Detallar carpetas y subcarpetas.zip 17 kB · 2 downloads

Gracias, funciona bien, como podría para también me salga el peso en GB

Share this post


Link to post
Share on other sites
Guest Yamid Cano
Hace 49 minutos , Gerson Pineda dijo:

A ver si revisas y evalúas mi aporte, para hacerlo tu mism@

 

Saludos!

Entiendo código actual

        vkm = VBA.IIf(vt > 1024, vt / 1024 / 1024, vt / 1024)
        vtc = VBA.IIf(vt > 1024, "Mg", "Kb")

cambie por este 

        vkm = VBA.IIf(vt > 1024, vt / 1024 / 1024, vt / 1024 / 1024 / 1024, vt / 1024)
        vtc = VBA.IIf(vt > 1024, "Gb", "Mg", "Kb")

pero sale error no entiendo 

Share this post


Link to post
Share on other sites
Guest Yamid Cano
En 15/4/2019 at 12:52 , Gerson Pineda dijo:

La función VBA.IIf solo dispone de 2 3 argumentos, debes utilizar variables separadas

 

Saludos

ok gracias por tu explicación ya lo puede acomodar... queda de la siguiente manera

        vkm = IIf((vt / 1024) < 1024, (vt / 1024), IIf(((vt / 1024) / 1024) > 1024, (((vt / 1024) / 1024) / 1024), ((vt / 1024) / 1024)))
        vtc = IIf((vt / 1024) < 1024, "KB", IIf(((vt / 1024) / 1024) > 1024, "GB", "MB"))

Ya se puede serrar el tema

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.



×
×
  • Create New...

Important Information

Privacy Policy