Borrar contenido de celdas a partir de A2:B2
TodoExpertos. Les consulto como hacer para que la siguiente macro borre los campos desde A2:B2 pues necesito que en las celdas superiores se mantengan dos palabras a modo de cabecera.
Sub Lista_de_archivos(): Application.ScreenUpdating = False
' procedimiento para listar archivos del tipo indicado incluyendo sub-carpetas ' :
'R&D: Héctor Miguel Orozco Díaz (septiembre de 2005) '
Range("a3:b3") = Array("Carpeta", "Nombre")
[a3].CurrentRegion.ClearContents
Lista_archivos_en Range("g1"), , ".pdf" ' <= aqui defines el tipo de archivos '
End Sub
Sub Lista_archivos_en(carpeta As String, Optional completo As Boolean = True, Optional filtro As String = "")
Dim fso As FileSystemObject, ruta As Folder, subCarpeta As Folder, archivo As File, fila As Long, pasa As Boolean
Set fso = New Scripting.FileSystemObject
Set ruta = fso.GetFolder(carpeta): fila = [a65536].End(xlUp).Row + 1
On Error Resume Next
For Each archivo In ruta.Files: pasa = False
With archivo
If filtro <> "" Then
If InStr(1, .Name, filtro, vbTextCompare) Then pasa = True
Else: pasa = True: End If
If pasa Then
Range("a" & fila & ":b" & fila) = Array(.Path, .Name): fila = fila + 1
End If: End With: Next
If completo Then
For Each subCarpeta In ruta.SubFolders
Lista_archivos_en subCarpeta.Path, True, filtro: Next: End If
Columns("a:b").AutoFit: Set ruta = Nothing: Set fso = Nothing
End Sub
1 respuesta
Respuesta de James Bond
2
