Envío de varios correos si se modifican celdas

4 envíos / 0 nuevos
Último envío
marme
Imagen de marme
Offline
última acción: Hace 6 años 10 meses
alta: 12/05/2017 - 11:30
Puntos: 35
Envío de varios correos si se modifican celdas

Hola, 

agradecería enormemente vuestra ayuda porque no sé cómo programarlo para que funcione. 

Resulta que tengo un libro que comparto en red con varios compañeros, y me gustaría que si un compañero modifica cualquier texto de la columna A, B, ó C se envíe automáticamente el correo electrónico que está escrito en la columna G.

Importante: que sólo se envíe el correo de la fila en la que ha habido la modificación.

Espero haberme explicado bien. Adjunto imagen.

Saludos.

¡¡¡Gracias!!!

 

 

AdjuntoTamaño
Image icon 002.png9.36 KB

Etiquetas: 

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 1 hora 4 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
lo primero es identificar que

lo primero es identificar que se ha cambiado una celda de las columnas A, B o C

Para esto puedes utilizar el evento Worksheet_Change

Private Sub Worksheet_Change(ByVal Target As Range)

donde Target será el rango que cambia

(habría que comprobar el caso en que Target no es una celda, sino varias celdas a la vez ¿cómo lo harías en ese caso?)

Juega con la columna de Target para saber si es de las que te interesa o no. Por ejemplo:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim correo_destinatario As String

    Select Case Target.Column

        Case 1, 2, 3

            'hay que enviar email

            correo_destinatario = Me.Cells(Target.Row, 7).Value

            MsgBox "destinatario: " & correo_destinatario

        Case Else

            'pues nada, es otra columna

    End Select

End Sub

 

Otra historia es cómo vas a enviar el email y el contenido que quieras incluir.

mira estos otros temas del foro sobre el envío de emails 

 

 

 

------
Ya sé Excel, pero necesito más.

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 1 hora 4 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
lo primero es identificar que

lo primero es identificar que se ha cambiado una celda de las columnas A, B o C

Para esto puedes utilizar el evento Worksheet_Change

Private Sub Worksheet_Change(ByVal Target As Range)

donde Target será el rango que cambia

(habría que comprobar el caso en que Target no es una celda, sino varias celdas a la vez ¿cómo lo harías en ese caso?)

Juega con la columna de Target para saber si es de las que te interesa o no. Por ejemplo:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim correo_destinatario As String

    Select Case Target.Column

        Case 1, 2, 3

            'hay que enviar email

            correo_destinatario = Me.Cells(Target.Row, 7).Value

            MsgBox "destinatario: " & correo_destinatario

        Case Else

            'pues nada, es otra columna

    End Select

End Sub

 

Otra historia es cómo vas a enviar el email y el contenido que quieras incluir.

mira estos otros temas del foro sobre el envío de emails 

 

 

 

------
Ya sé Excel, pero necesito más.

marme
Imagen de marme
Offline
última acción: Hace 6 años 10 meses
alta: 12/05/2017 - 11:30
Puntos: 35
Muchas gracias por tu

Muchas gracias por tu respuesta.

¿Y si reduzco las opciones de modificación, solo en caso de modificación de la columna B, que se envíe automaticamente el correo electrónico que está escrito en la columna G, será más fácil? ¿Cómo sería el código?

Para el envío del correo:

Asunto sea la palabra Modificación.

Cuerpo del mensaje: Toda la fila que ha sufrido modificación.

¿Cómo indico eso?

Se que es bastante complejo, muchas por tu tiempo.

Saludos