Como modificar una macro ya creada

Ya me han ayudado a crear una macro que me genera correos para informar a mis clientes el avance de su reparación, fue con esta macro.

Sub EnviarCorreos()
'Por.Dante Amor
    For i = 2 To Range("G" & Rows.Count).End(xlUp).Row
        If Cells(i, "L") <= Date And Cells(i, "G") <> "" Then
            Set dam = CreateObject("outlook.application").createitem(0)
            dam.To = Cells(i, "G")
            dam.Subject = "Estado vehículo " & Cells(i, "B") & _
                          ", siniestro: " & Cells(i, "I") & "."
            dam.Body = "Estimado " & Cells(i, "F") & ": junto con saludar " & _
                       "informo que su vehiculo se encuentra en proceso de " & _
                       Cells(i, "J") & ". Recuerde que para cualquier duda " & _
                       "me puede contactar a este mismo mail."
            'dam.Send 'El correo se envía en automático
            dam.Display 'El correo se muestra
        End If
    Next
End Sub

el problema es que ahora necesito modificara para que no me genere todos los mails de las filas en que se cumple la condición pre establecida en la columna L ni tampoco se aplique la macro desde una imagen , sino desde el correo del cliente registrado en la columna G y que se genere el correo solo de ese caso registrado en esa fila, independientemente de si ya se cumplió la condición, todo lo demás queda igual, el asunto, el destinatario y el cuerpo del mail.

1 Respuesta

Respuesta
1

H o l a:

Quieres darle click a una fila, por ejemplo la fila 15, y que solamente se genere un correo con los datos de la fila 15. Si lo anterior es correcto.

Entonces utiliza pon la siguiente macro en los eventos de tu hoja.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Por.Dante Amor
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Columns("L")) Is Nothing Then
        i = Target.Row
        If Cells(i, "G") <> "" Then
            Set dam = CreateObject("outlook.application").createitem(0)
            dam.To = Cells(i, "G")
            dam.Subject = "Estado vehículo " & Cells(i, "B") & _
                          ", siniestro: " & Cells(i, "I") & "."
            dam.Body = "Estimado " & Cells(i, "F") & ": junto con saludar " & _
                       "informo que su vehiculo se encuentra en proceso de " & _
                       Cells(i, "J") & ". Recuerde que para cualquier duda " & _
                       "me puede contactar a este mismo mail."
            'dam.Send 'El correo se envía en automático
            dam.Display 'El correo se muestra
        End If
    End If
End Sub

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(tu hoja)
  4. Del lado derecho copia la macro

Para que funcione, tienes que seleccionar una celda de la columna L, en automático se enviará un correo de la línea que hayas seleccionado.


Ok esta impecable, una consulta, para que se aplique en otras hojas tengo que hacer el nismo procedimiento en todas??

Así es, deberás hacerlo para cada hoja que necesites.

E stimado usuario, recuerda valorar la respuesta

E s t i m a d o, recuerda valorar la respuesta. G r a c i a s

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas