Toma los datos de cualquier fila, creo que el problema puede estar en como lo pongo dentro de la macro final
Private Sub commandbutton1_click()
'
Application.ScreenUpdating = False
'
Set l1 = ThisWorkbook
Set h1 = l1.Sheets(Hoja1.Name)
Set h4 = l1.Sheets(Hoja4.Name)
'
h1.Range("A2:H300").ClearContents
h4.Range("A2:D300").ClearContents
'
ruta1 = "c:\datos\control de obra\"
arch1 = Dir(ruta1 & "*.xlsx")
'
fil = 2
Do While arch1 <> ""
Set l2 = Workbooks.Open(ruta1 & arch1)
Set h2 = l2.Sheets(1)
h2.Columns("O:BF").Hidden = False
fila = h2.Range("BG" & Rows.Count).End(xlUp).Row
columna = h2.Cells(6, Columns.Count).End(xlToLeft).Column - 1
h1.Cells(fil, "A") = h2.Cells(3, 4) 'copiar e insertar OT
h1.Cells(fil, "B") = h2.Cells(2, 4) 'copiar e insertar datos Nombre
h1.Cells(fil, "C") = h2.Cells(5, 2) 'Insertar codigo para fase
h1.Cells(fil, "E") = h2.Cells(fila, 59) 'copiar e insertar datos ingenieria
h1.Cells(fil, "F") = h2.Cells(fila, 141) 'copiar e insertar datos cortes
h1.Cells(fil, "G") = h2.Cells(fila, 223) 'copiar e insertar datos armado
h1.Cells(fil, "H") = h2.Cells(fila, 427) 'copiar e insertar datos pintura
h1.Cells(fil, "I") = h2.Cells(6, columna) ''copiar e insertar ultima fecha de ingenieria
h2.Columns("O:BF").Hidden = True
h1.Cells(fil, "d") = h1.Cells(fil, "a") & " - " & h1.Cells(fil, "b") & " " & h1.Cells(fil, "C") 'concatenar ot-nombre-fase
l2.Close False 'cierra el libro
fil = fil + 1
arch1 = Dir()
Loop
'
'Copia porcentaje de envios
ruta2 = "c:\rebajas_envios\"
arch2 = Dir(ruta2 & "*.xls")
fil = 2
Do While arch2 <> ""
Set l2 = Workbooks.Open(ruta2 & arch2)
Set h2 = l2.Sheets(3)
fila = h2.Range("DS" & Rows.Count).End(xlUp).Row
h4.Cells(fil, "A") = h2.Cells(3, 3) 'copiar e insertar OT
h4.Cells(fil, "B") = h2.Cells(2, 3) 'copiar e insertar datos Nombre
h4.Cells(fil, "C") = h2.Cells(6, 1) 'copiar e insertar datos Fase
h4.Cells(fil, "E") = h2.Cells(fila, 123) 'copiar e insertar datos Envios
h4.Cells(fil, "d") = h4.Cells(fil, "a") & " - " & h4.Cells(fil, "b") & " " & h4.Cells(fil, "C") 'concatenar ot-nombre-fase
l2.Close False 'cierra el libro
fil = fil + 1
arch2 = Dir()
Loop
l1.Save
MsgBox "Proceso terminado"
End Sub
Saludos