Excel VBA: Copiar datos de una fila que coincidan

Tengo 2 libros diferentes llamado L1 (datos que voy agregando) y Datos (base de datos). Necesito que con un macro, compare los datos de la columna "L1, hoja1"(C2:hasta que haya una celda vacía distinta de 0); con "Datos, hoja1"(B2:B500) y me copie la columna G de L1 en la columna E de DATOS pero en la fila que este la coincidencia.
**En la columna G hay formulas, yo necesito que me copie el valor
**En libro DATOS siempre esta cerrado. Nunca lo abro

Ej: Tomar el valor de "L1, hoja1"(C2) y buscar en la columna "Datos, hoja1"(B2:B500). Cuando encuentre coincidencia, copiar y reemplazar "L1, hoja1"(G2) en "Datos, hoja1"(Columna E de la fila que corresponda). Después realizar lo mismo con C3 y así hasta que aparezca una celda vacía (distinto de 0) en la columna "L1, hoja1"(C).

2 Respuestas

Respuesta
1

Para los que tienen duda, al final hice esto. En vez de copiar y pegar datos que coincidan, directamente hice que el conteo de datos me lo haga en el otro Libro

Sub CommandButton1_Click()
'Actualiza Sheet de Stock
Workbooks("Articulos.xlsx").AcceptAllChanges

'Asignar valores
Set h1 = Workbooks("Articulos.xlsx").Sheets("LISTA")

Set h2 = Sheets("VENTA")
u = h2.Range("C" & Rows.Count).End(xlUp).Row
Set r = h1.Columns("B")

'Comparacion y desconteo
For i = 2 To u
Set b = r.Find(h2.Cells(i, "C"), lookat:=xlWhole)
If Not b Is Nothing Then
ncell = b.Address
Do
h1.Cells(b.Row, "H") = h1.Cells(b.Row, "H") - h2.Cells(i, "B")
Set b = r.FindNext(b)
Loop While Not b Is Nothing And b.Address <> ncell
End If
Next i
MsgBox "DATOS ACTUALIZADOS"
End Sub

Respuesta
1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas