Para DANTE macro para borrar dato erroneo y obligar a registrar uno nuevo

Hola DANTE. Tengo el siguiente caso. Tengo un archivo llamado AGENDA. En AGENDA tengo una hoja llamada BASE y otra hoja llamada INGRESAR_CITA.

En la hoja llamada BASE tengo la base de clientes. En BASE en la columna "J" tengo los emails de los clientes.

Resulta que quien alimenta este archivo es otra persona distinta a mi, y no se si es por que no escucha bien a los clientes o no se si tiene mala ortografia pero se equivoca mucho en lo emails que registra.

Me doy cuenta por que soy el encargado de enviar diariamente los correos a los clientes para recordarles su cita del siguiente dia y muchos de ellos rebotan.

Me gustaria que pudieramos hacer lo siguiente, en una hoja nueva crear una macro en la cual me solicite el email que conozco que es erroneo, para que la macro lo busque en la hoja BASE y de alguna manera lo marque como erroneo, con el fin de que cuando la persona encargada de dar las citas le vaya a volver a dar una cita a ese cliente, de alguna manera le salga un mensaje que debe actualizar el correo electrónico de ese cliente pues el correo que esta en la base de datos REBOTA y que no le permita continuar dandole la cita hasta que corrija el correo.

Es posible hacer eso?

Espero me halla podido hacer entender bien

1 respuesta

Respuesta
1

Para detener el registro de la cita, necesito saber cómo es que hacen o registran la cita en "INGRESAR_CITA".

Por ejemplo, si cada vez que hacen una cita, capturan en la columna "C" el cliente, entonces puedo, mediante una macro revisar el correo del cliente en la hoja "BASE", con ese correo, buscarlo en la hoja "ERRORES", si lo encuentra, entonces enviar un mensaje para que corrija el correo.

Esta es la macro para hacer lo anterior, pero hay que acomodar las columnas de las hojas "REGISTRAR", "BASE" y "ERRORES"

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Not Intersect(Target, Columns("C")) Is Nothing Then
        Set b = Sheets("BASE").Columns("A").Find(Target, lookat:=xlWhole)
        If Not b Is Nothing Then
            correo = Sheets("BASE").Cells(b.Row, "B")
            Set c = Sheets("ERRORES").Columns("A").Find(correo, lookat:=xlWhole)
            If Not c Is Nothing Then
                MsgBox "Actualizar correo"
            End If
        End If
    End If
End Sub

Si puedes adaptar la macro, cambia "C", en esta línea por la columna en donde ingresan al cliente en "REGISTRAR"

If Not Intersect(Target, Columns("C")) Is Nothing Then

Cambia la "A" por la columna en donde tienes los clientes

Cambia la "B" por la columna en donde tienes los correos

Crea una hoja llamada "ERRORES" y en la columna "A" pon todos los correos con errores.

Si tienes problemas, tendrás que describirme en dónde tienes todos los datos en cada hoja.


Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro 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 worksheet(Registrar cita)
  4. Del lado derecho copia la macro

Recibe un cordial saludo y felices fiestas! Dante Amor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas