Una macro para copiar y pegar sin duplicar valores

Tengo en la Hoja1 un formato de captura de información. Tengo una macro que me copia la información de la Hoja1 y me la pega en columnas en la hoja2. Pero en la hoja1 en la celda C8 se ingresa un valor que es un código y que no se debe duplicar. Traté con validación de datos para evitar duplicados pero como la macro lo que está haciendo es copiando de la hoja1 y pegando en la hoja2 no reconoce los valores duplicados. No se como hacer y ya me está volviendo loco. Si hay alguien que me pueda ayudar

1 respuesta

Respuesta
1
Por lo que entiendo a tu macro lo que le falta es que valide contra la cela c8 que mencionas, una forma de hacerlo es la siguiente
Sub validacion()
If ActiveCell.Value = Sheets("hoja1").Range("c8") Then
MsgBox "No se pude usar ese valor"
Else
Call macro_que_me_copia
End If
End Sub
Pruébalo y me comentas.
Hola Experto
Antes que nada muchas gracias por el interés en ayudarme.
Yo tengo algo muy parecido a lo que tu me envías. El problema es que no se como hacer para decirle que el valor de la celda "C8" de la Hoja1 lo debe buscar en la columna B de la Hoja2, si el valor ya está msgbox "El código ya está digitado" sino call macro_que_me_copia.
Me explico mejor con un ejemplo:
HOJA 2
Columna A Columna B Columna C
Fecha código nombre
HOJA 1
Columna A Columna B Columna C
FECHA celda vacía 18/9/2011
CÓDIGO celda vacía 6532
NOMBRE celda vacía FULANO DE TAL
Como ves, el código que está en la celda C8 es irrepetible. Pero como son 15000 registros, quien digite podrá equivocarse y digitar varias veces el mismo código. Mi idea es que la macro me busque este código en la columna B de la Hoja2, si ya está ingresado arroje un msgbox "ya está digitado" o algo parecido.
Espero haberme explicado bien.
Muchas gracias.
Ok entiendo, pero por lo que veo la celda c8 no es donde se valida, se valida es contra toda la columna de códigos.
si es asi
lo puedes hacer de la siguiente manera
Sub validacion()
encontrado = False
For i = 1 To 15000
If ActiveCell.Value = Sheets("hoja2").Cells(i, 2).Value Then encontrado = True
Next i
If encontrado = True Then
MsgBox "No se pude usar ese valor"
Else
Call macro_que_me_copia
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas