Hola amigos, buscando en la red, encontre este codigo pero no funciona del
todo bien, lo que quiero hacer es lo siguiente:
al estar introduciendo datos en excel que me notifique si el dato ya esta
capturado, el codigo es este:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Fila As Long
Dim F As Long
Dim NuevoDato
'si el rango cambiante está en la columna 3 (que es donde buscaré los datos
If Target.Column = 3 Then
'tomo la fila en la que se encuentra el nuevo dato ingresado
Fila = Target.Row
'y tomo el nuevo dato ingresado
NuevoDato = Target.Value
'ahora: yo sé que tu tabla comienza en la fila 3 y se extiende hasta un
lugar
'menos de donde ingresaste el nuevo valor, entonces el rango donde buscaré
'para evitar duplicados será desde C3 hasta una fila anterior a la celda en
donde
'ingresaste el nuevo dato.
Fila = Fila - 10 'resto uno para que busque hasta la celda anterior
'ahora busco el nuevo valor dentro del rango especificado, y pongo un
controlador
'de errores. si el valor existe, almaceno en F en que fila está, para
avisarle al usuario
'que duplicó datos:
On Error Resume Next
F = Range("C3:C25" & Fila).Find(what:=NevoDato, after:=ActiveCell,
LookIn:=xlValues, lookat:=xlWhole).Row
If Err.Number = 91 Then
Exit Sub
Else
MsgBox "El dato ingresado ya se encuentra en la fila " & F
End If
End If
End Sub
saludos.
gonzalo
Leer las respuestas