Como puedo hacer que de una carpeta con 30 archivos, me saca valores de una fila con datos

Necesitaría una macro, que me hiciera lo siguiente:

Tengo una carpeta con 30 archivos de excel

Estos archivos tienen varias hojas.

Quisiera que de una hoja en concreto(diario) me sacar en un archivo las filas que tuvieran un valor negativo, por ejemplo en la columna P, pero que estuviera entre las filas por ejemplo de la fila 8 hasta 100, y que me lo rellenara con los datos que contenga esa fila.

Mi mail es [email protected]

Un saludo, si quieres te dejo mi móvil para whatsapp

1 Respuesta

Respuesta
2

Envíame un par archivos des esos 30 archivos y me dices cuáles líneas quieres copiar y también me anexas el "archivo nuevo" donde pegaste las líneas.

Buenas,

te he mandao a un mail a [email protected] ,

en el asunto te he puesto jumy2421 == > Juan Benito ==> Como puedo hacer que de una carpeta con 30 archivos, me saca valores de una fila con datos

y en texto de mail lo siguiente:

Buenos dias,

te adjunto dos archivos que te he comentado.

la carpeta con estos archivos la tengo en:

C:\GENAR - ASESMAG17\CONTABILIDAD 2017\ALFONSO CONTABILIDAD 2017

tendria que buscar en la pestaña IVA 3T, 

desde la fila 37 a la fila 1002 en la columna R si tiene datos

y que me sacara toda la información de la linea 

en otro libro de excell llamado Resumen IRPF 3T17,

poniendo en la columna AA el valor que tenemos en cada archivo en D1

OJO PUEDE EN QUE EN TODOS LOS ARCHIVOS EN LA COLUMNA R NO TENGA DATOS

luego esa misma macro la necesitaria para el IVA 4T

Buenas,

te llego mi email???

Sí, ya me llegó, cuando tenga tu respuesta te la envío.

Te anexo la macro

Sub Resumen()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set l1 = ThisWorkbook
    Set h1 = l1.Sheets("Resumen")
    h1.Rows("2:" & Rows.Count).Clear
    '
    ruta = "C:\GENAR - ASESMAG17\CONTABILIDAD 2017\ALFONSO CONTABILIDAD 2017\"
    ruta = ThisWorkbook.Path & "\"
    arch = Dir(ruta & "*.xls*")
    hoja = "IVA 3T"
    j = 2
    Do While arch <> ""
        If arch <> l1.Name Then
            Set l2 = Workbooks.Open(ruta & arch)
            existe = False
            For Each h In l2.Sheets
                If UCase(h.Name) = hoja Then
                    existe = True
                    Exit For
                End If
            Next
            If existe = True Then
                Set h2 = l2.Sheets(hoja)
                For i = 37 To 1002
                    If h2.Cells(i, "R") <> "" Then
                        h2.Rows(i).Copy h1.Rows(j)
                        h1.Cells(j, "AA") = h2.Range("D1")
                        j = j + 1
                    End If
                Next
            End If
            l2.Close False
        End If
        j = j + 1
        arch = Dir()
    Loop
    Application.ScreenUpdating = False
    MsgBox " Resumen terimado ", vbInformation, "RESUMEN"
End Sub

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas