【问题标题】:Run my Macro when excel cell changesexcel单元格更改时运行我的宏
【发布时间】:2016-12-03 02:43:13
【问题描述】:

我希望在单元格更改后让我的电子表格发送电子邮件。

到目前为止,我有一个宏要发送到一组电子邮件和一个命令按钮宏来触发它,但希望它在单元格更改状态时自动发生。

现在我有:

Sub Create_Email_From_Excel()
    Dim SendTo As String
    Dim ToMSg As String

For i = 1 To 10
    SendTo = ThisWorkbook.Sheets(1).Cells(i, 1)
    If SendTo <> “” Then
        ToMSg = ThisWorkbook.Sheets(1).Cells(i, 3)
        Send_Mail_From_Excel SendTo, ToMSg
        End If
    Next i
End Sub


Sub Send_Mail_From_Excel(SendTo As String, ToMSg As String)
Dim OutlookApp As Object
Dim OutlookMail As Object

Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)

With OutlookMail
    .To = SendTo
    .CC = "john@interwebs.com"
    .BCC = “”
    .Subject = "You have mail"
    .Body = "this is your mail"
    .Send
End With

还有……

Private Sub CommandButton1_Click
  Create_Email_From_Excel
End Sub

我不确定从这里去哪里,或者我是否朝着正确的方向前进。命令按钮和宏工作,但我不知所措。

如果 G 列中的单元格从“待处理”变为“延迟”时,它可以从 excel 宏执行创建电子邮件,那将是未完成的。

【问题讨论】:

标签: vba excel email automation


【解决方案1】:

尝试 Worksheet_Change 事件

例子

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$G$1" Then
        '
        'When someone Edits the cell G1
        '
        Call Create_Email_From_Excel
        '
        '
    End If
End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-01
    • 2010-09-29
    • 2013-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多