Macro de excel para crear carpetas y subcarpetas con valores en las celdas
No soy muy experto en programación VBA pero hago lo que puedo. Mi situación es esta, tengo una lista de datos que coloco en un documento de excel, de los cuales con estos mismos quiero crear las carpetas, que hasta ahora he logrado hacer. Sin embargo, lo que quisiera es que al crearlo con una condición, ella sepa cuales son carpetas y cuales Sub Carpetas.
Anexo Macro para crear las carpetas.
Sub Carpeta()
Application.ScreenUpdating = False
Contador = 0
Set fso = CreateObject("Scripting.FileSystemObject")
Ruta = ActiveWorkbook.Path
En la Columna A, tengo unos números que es donde estoy evaluando los valores para determinar las carpetas y sub-carpetas
Range("A1").Select
Do While Not IsEmpty(ActiveCell)
Item = ActiveCell.Value
'If Len(Item) = 1 Then
' Item = "0" & Item
' Else
'En este punto es que quisiera crear la condición de las celdas para crear las sub-carpetas hasta 2 niveles que luego más abajo cree la sub-carpeta o sub-sub-carpeta
' End If
ActiveCell.Offset(0, 1).Select
Codigo = ActiveCell.Value
ActiveCell.Offset(0, 1).Select
Nombre = ActiveCell.Value
Carpetas = Item & " " & Codigo & Nombre
If Not fso.FolderExists(Ruta & "\" & Carpetas) Then
fso.CreateFolder (Ruta & "\" & Carpetas)
Contador = Contador + 1
End If
ActiveCell.Offset(1, -2).Select
Loop
Mensaje = MsgBox("Se crearon" & contador & " carpetas", 64, " Numero de Carpetas")
Set fso = Nothing
Application.ScreenUpdating = True
End Sub
Hasta este punto del código el me crea las carpetas, ahora coloco un ejemplo de como salen con valores y según la secuencia que evalué, debería de ver el LEN de la celda, ej. 1, que es la principal, y que si la siguiente es mayor a esta, seria sub-carpeta de 1, ahora si en el 1.3.1 es mayor que la anterior seria una nueva sub-carpeta pero de la anterior y no de la primera, cuando el LEN vuelva a 1, es carpeta principal. En ese sentido, la evaluación seria:
1 ------------ LEN = 1 --- Principal ---- dentro de esta estarían del 1.1 al 1.3
1.3 --------- LEN = 3 --- Sub-Carpeta ---- dentro de esta estarían 1.3.1 y 1.3.2
1.3.1 ------ LEN > 4 --- Sub-Sub-Carpeta ---- dentro de esta no lleva más carpeta
1
1.1
1.2
1.3
1.3.1
1.3.2
2
2.1
2.2
Solo querría saber como hacer para que este funcione, quizás sea algo simple para ustedes, pero, por el momento no muy fácil para mi persona.