Macro que copia celdas sin repetir los datos copiados
Hará cosa de dos meses os consultaba una duda sobre una macro que me copiase celdas de una hoja a otra en determinadas columnas (la pregunta era: "Crear macro que copie celdas si cumplen una condición".)
Me funcionó a la perfección, pero usándola me he encontrado con el problema que si ejecuto la macro una vez y la vuelvo a ejecutar otra vez me vuelve a copiar todos los elementos.
La hoja en la que copio los datos tiene el siguiente formato:
Articulo Cantidad
Ejemplo X
Mi pregunta es la siguiente:
¿Cómo puedo completar la macro para que al copiar los datos compruebe primero si ya se encuentran en la lista, y si se encuentran en la lista que compruebe si la cantidad es la misma, mayor o menor, para que si es la misma no lo copie y si es mayor o menor la aumente o la disminuya?
La macro que me facilitasteis fue la siguiente
Sub chequea()
Application.ScreenUpdating = False
Hoja2.Select
i = 4
For i = 4 To 67
If Cells(i, 5).Value > 0 Then
valor1 = Cells(i, 1)
valor2 = Cells(i, 5)
Hoja3.Select
If Range("A6") <> "" Then
Range("A100").End(xlUp).Select
ActiveCell.Offset(1, 0).Select
ActiveCell = valor1
ActiveCell.Offset(0, 2) = valor2
Hoja2.Select
Else
Range("A6").Select
ActiveCell = valor1
ActiveCell.Offset(0, 2) = valor2
Hoja2.Select
End If
End If
Next i
Application.ScreenUpdating = True
End Sub
Desde que me contestasteis la última vez he intentado darle una solución pero me faltan todavía conocimientos suficientes para dar con la solución.
Me funcionó a la perfección, pero usándola me he encontrado con el problema que si ejecuto la macro una vez y la vuelvo a ejecutar otra vez me vuelve a copiar todos los elementos.
La hoja en la que copio los datos tiene el siguiente formato:
Articulo Cantidad
Ejemplo X
Mi pregunta es la siguiente:
¿Cómo puedo completar la macro para que al copiar los datos compruebe primero si ya se encuentran en la lista, y si se encuentran en la lista que compruebe si la cantidad es la misma, mayor o menor, para que si es la misma no lo copie y si es mayor o menor la aumente o la disminuya?
La macro que me facilitasteis fue la siguiente
Sub chequea()
Application.ScreenUpdating = False
Hoja2.Select
i = 4
For i = 4 To 67
If Cells(i, 5).Value > 0 Then
valor1 = Cells(i, 1)
valor2 = Cells(i, 5)
Hoja3.Select
If Range("A6") <> "" Then
Range("A100").End(xlUp).Select
ActiveCell.Offset(1, 0).Select
ActiveCell = valor1
ActiveCell.Offset(0, 2) = valor2
Hoja2.Select
Else
Range("A6").Select
ActiveCell = valor1
ActiveCell.Offset(0, 2) = valor2
Hoja2.Select
End If
End If
Next i
Application.ScreenUpdating = True
End Sub
Desde que me contestasteis la última vez he intentado darle una solución pero me faltan todavía conocimientos suficientes para dar con la solución.
1 respuesta
Respuesta de Eduard Caballero
1