He estado trabajando en este proyecto por un tiempo y siento que me estoy acercando tanto pero que al final me encuentro con problemas. He extraído fragmentos de este código de diferentes fuentes. Me complace decir que no recibo ningún error. Lamentablemente, tampoco obtengo resultados.
Tengo dos hojas, una tiene datos estáticos (principal) y la otra se actualiza semanalmente para copiar / pegar (fuente). Lo que intento hacer es unir datos concatenados de principal a fuente y copiar celdas específicas en una coincidencia. cuando ejecuto la macro obtengo resultados en una línea de 50. El bucle interno continúa hasta el final de la hoja, pero el bucle externo no parece cambiar la fila en la hoja de destino (principal) No estoy realmente seguro de cómo se está poblando una fila. Sé que me estoy perdiendo algo aquí, pero ¿qué?
Dim wsSource As Worksheet
Dim wsMain As Worksheet
Dim rngs As Variant
Dim rngm As Variant
Dim srow As Integer
Dim mrow As Integer
Dim i As Long
Dim lastrow As Long
Set wsSource = Worksheets("Source")
Set wsMain = Worksheets("Main")
Set rngs = wsSource.Range("L2")
Set rngm = wsMain.Range("L2")
'Clear old data
wsMain.Range("D2:L1500").ClearContents
wsSource.Range("L2:L1500").ClearContents
wsMain.Range("L2:L" & Range("A65000").End(xlUp).Row).FormulaR1C1 = "=CONCATENATE(RC[-11],RC[-10],RC[-9])"
wsSource.Range("L2:L" & Range("A65000").End(xlUp).Row).FormulaR1C1 = "=CONCATENATE(RC[-11],RC[-10],RC[-9])"
lastrow = Range("L" & Rows.Count).End(xlUp).Row
srow = 2
mrow = 2
Do Until rngm.Offset(mrow, 0).Value <> "" And rngm.Offset(mrow, 1).Value <> ""
Do Until rngs.Offset(srow, 0).Value <> "" And rngs.Offset(mrow, 1).Value <> ""
If (rngs.Offset(srow, 0).Value = rngm.Offset(mrow, 0).Value) Then
rngm.Offset(mrow, -8).Value = rngs.Offset(srow, -8).Value
rngm.Offset(mrow, -7).Value = rngs.Offset(srow, -7).Value
rngm.Offset(mrow, -6).Value = rngs.Offset(srow, -6).Value
rngm.Offset(mrow, -5).Value = rngs.Offset(srow, -5).Value
rngm.Offset(mrow, -4).Value = rngs.Offset(srow, -4).Value
rngm.Offset(mrow, -3).Value = rngs.Offset(srow, -3).Value
rngm.Offset(mrow, -2).Value = rngs.Offset(srow, -2).Value
End If
srow = srow + 1
Loop
mrow = mrow + 1
Loop
Estaré encantado de cargar el libro de trabajo si hay una manera de hacerlo
fuente