es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Generar Asunto de Correo Electrónico basado en valores variables de celdas

Me gustaría que el asunto del correo electrónico se genere a partir de la columna A de la misma fila que está activando el correo electrónico.

Entonces, si Q5 = 30, me gustaría que el asunto se tome de A5, etc.

Dim xRg As Range

Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Target.Cells.Count > 1 Then Exit Sub
    Set xRg = Intersect(Range("Q2:Q6000"), Target)
    If xRg Is Nothing Then Exit Sub
    If IsNumeric(Target.Value) And Target.Value = 30 Then
        Call Mail_smallTextOutlook
    End If
End Sub

Sub Mail_smallText_Outlook()
    Dim xOutApp As Object
    Dim xOutMail As Object
    Dim xMailBody As String
    Set xOutApp = CreateObject("Outlook.Application")
    Set xOutMail = xOutApp.CreateItem(0)
    xMailBody = "Hola," & vbNewLine & vbNewLine & _
          "Esto es línea 2"
    On Error Resume Next
    With xOutMail
        .To = "dirección de correo electrónico"
        .CC = ""
        .BCC = ""
        .Subject = "Esto debería hacer referencia a la celda"
        .Body = xMailBody
        .Send ' o usar .Send
    End With
    On Error GoTo 0
    Set xOutMail = Nothing
    Set xOutApp = Nothing
End Sub
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para generar el asunto del correo electrónico a partir de la columna A de la misma fila que está activando el correo electrónico, reemplace la siguiente línea:

    .Asunto = "Esto debería hacer referencia a la celda"

    con

    .Asunto = Rango("A" & Target.Row).Value

    Esto seleccionará el valor en la columna A de la misma fila que la celda modificada (indicada por Target.Row) y lo utilizará como asunto del correo electrónico.

Comments are closed.