Saltar al contenido

Recommended Posts

publicado

Hola buenas tardes:

Por favo me pueden ayudar con los iguiente:

tengo una macro que me ayuda a listar carpetas y nombre de archivos. (es una funcion) el cual llamo desde una SUb, este funciona bien, el problema es que debo poner la ruta de manera manual:

Public Sub Listaynombra_Manual()
With ActiveSheet
List_Fols_Files "C:\Users\CARPETA\"   esta es la parte que debo cambiar cada que llamano la funcion (List_Fols_Files)
End With
End Sub

Ay manera de que la ruta sea tomada de una celda de la misma hoja.

Trate de poner algo asi: List_Folders_and_Files Range("B1").Value

en esa celda esta la ruta donde debe extraer la informacion que requiero.

gracias

Mariano

 

publicado

En lo que usted sube el archivo en base a lo que menciona esta podría ser una idea:

Suponiendo que la ruta esta en B1

Public Sub Listaynombra_Manual()
    Dim ruta As String
    ' Obtiene la ruta de la celda B1
    ruta = ActiveSheet.Range("B1").Value
    
    ' Verifica si la ruta no está vacía
    If ruta <> "" Then
        ' Llama a la función List_Fols_Files con la ruta obtenida
        List_Fols_Files ruta
    Else
        MsgBox "La celda B1 está vacía. Por favor, ingresa una ruta válida.", vbExclamation
    End If
End Sub

Es importante resaltar que si la ruta es válida pero la carpeta no existe tendrá un error, en ese supuesto caso para evitar que la macro falle, puede agregar una verificación adicional para asegurar que la carpeta existe antes de llamar a la función. Puede hacer eso utilizando la función Dir en VBA, que verifica la existencia del elemento. También algo tan sencillo como escribir en la celdas de manera nvertidas las diagonales // puede causar error.

Saludos cordiales a ambos.

Conéctate para comentar

Podrás dejar un comentario después de conectarte



Conéctate ahora
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.