En una base de datos, ¿Hay forma de que en automático me diga si un dato ya esta capturado

Hay que hacer una macro por cada hoja, así que vamos a empezar con la hoja "Agua"
Hoja 1: Agua
No de contrato
Nombre del suscriptor
Contrato
Folio
Medidor
Distribuidor
Origen
Monto
Ahora dime:
1. En qué columnas están los datos: "No de contrato", "Nombre del suscriptor", etc
2. Si capturas un No de contrato, ¿quieres qué se revise?
3. Si capturas un Nombre del suscriptor, ¿quieres qué se revise?
4. Etc, dime con cuáles datos si se revisa
Espero tus comentarios en ese orden
Para la hoja agua y el número de contrato que está en la columna A, preparé esta macro.
Instrucciones para poner la macro en ThisWorkbook
1. Abre tu hoja de excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
3. Del lado izquierdo dice: VBAProject, abajo dale doble click a ThisWorkbook
4. Del lado derecho copia la macro
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)'por.damSelect Case Sh.Name Case "agua" If Not Intersect(Target, Columns("A")) Is Nothing Then For i = 1 To Target.Row - 1 If Cells(i, "A") = Target Then MsgBox "El dato " & Target & " ya fue capturado anteriormente", vbExclamation Exit For End If Next End IfEnd SelectEnd Sub
Prueba y me comentas si es lo que necesitas.
Saludos. Dam

1 respuesta

Respuesta
1

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'por.dam
Select Case Sh.Name
Case "agua"
If Not Intersect(Target, Columns("A")) Is Nothing Then
For i = 1 To Target.Row - 1
If Cells(i, "A") = Target Then
MsgBox "El dato " & Target & " ya fue capturado anteriormente", vbExclamation
Exit For
End If
Next
End If
End Select
End Sub

La pregunta no admite más respuestas

Más respuestas relacionadas