Saltar al contenido

Macro abrir directorio y copiar datos de archivo


Recommended Posts

publicado

Hola! Me presento mi nombre es javier y soy de buenos aires, Argentina.

Me encargaron hacer una macro en mi trabajo la cual debe abrir un directorio especifico y por cada archivo que abra de ese directorio buscar una palabra (en este caso la palabra seria ROFO),Cuando encuentre esa paklbara debe copiar todos los datos de las columnas en donde figura esa palbra a una archivo (consolidado).

Y asi con todos los archivos que vaya abriendo, que los vaya poniendo unos abajo del otro.

Estoy teniendo varios problemas con esto debido a que toda la info que encunetro me dice como abrir datos pero no como buscar una celda con una palabra especifica y copiarlos.

SAgradeceria mucho su ayuda.

Muchas gracias

- - - - - Mensaje combinado - - - - -

eL CODIGO QUE EMPEZE A PROGRAMAR ES EL SIGUIENTE

Sub LasCarpetas()

'Busca en una Carpeta del sistema y sus subcarpetas todos los archivos de Excel y los abre

Dim NombreCarpeta As String

NombreCarpeta = "C:\Users\310116752\Desktop\SIMULADORES 2\TODOS LOS SIMULADORES" 'Colocar la carpeta inicial

Call ShowFolderList(NombreCarpeta)

End Sub

Sub ShowFolderList(LaCarpeta As String)

Dim NombreSubCarpeta As String

Set FileSys = CreateObject("Scripting.FileSystemObject")

Set Folder = FileSys.GetFolder(LaCarpeta) ' Asigna la carpeta a la variable Folder

Set ListaCarpetas = Folder.Subfolders ' Asigna la lista de Subcarpetas a la variable ListaCarpetas

Set ListadoArchivos = Folder.Files ' Asigna la lista de Archivos a la variable ListadoArchivos

For Each Archivo In ListadoArchivos

If InStr(1, Archivo.Name, ".xls", vbTextCompare) Then

Workbooks.Open (Folder & "/" & Archivo.Name)

End If

ActiveWorkbook.Sheets("PIVOT").Activate

Range("A2").Select

Range(ActiveCell, ActiveCell.Offset(0, 22)).Select

Range(Selection, Selection.End(xlDown)).Select

Selection.Copy

ThisWorkbook.Activate

Sheets("bamba").Select

Range("A2").Select

ActiveSheet.Paste

Range("A2").Select

Selection.Copy

ActiveSheet.Paste

Workbooks(Folder & "/" & Archivo.Name).Close , False ------------------- Aqui me tira error, pretendo que cierre el libro que abrio

Next Archivo

For Each Subcarpeta In ListaCarpetas

NombreSubCarpeta = Folder.Path & "" & Subcarpeta.Name

Call ShowFolderList(NombreSubCarpeta) 'Procedimiento recursivo, se llama a si mismo para hacer

Next Subcarpeta 'la verificación en las subcarpetas

End Sub

este codigo pega un rango determinado lo que no se hacer es como pedirle a la macro que copie una columna cuando aparezca el texto "tal" y que lo pegue en el archivo consolidado.

Muchas gracias

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • 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.