VBA当单元格等于另一个工作表中的单元格时发送电子邮件

时间:2018-08-30 12:10:53

标签: excel vba excel-vba

当一个单元格等于另一个工作表中的另一个单元格时,我试图触发电子邮件。我进行了一些研究,发现Worksheets(“ Sheet2”)。Range(“ C1”)似乎是执行此操作的最佳方法,但它不起作用。如果仅使用Range(“ C1”)将其保留在当前工作表中,则电子邮件发送不会有问题。但是,一旦我尝试让另一张纸参与其中,那不是吗?

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(Target, Range("D1:D10"))
    If xRg Is Nothing Then Exit Sub
    If (Range("D1") = Worksheets("Sheet2").Range("C1")) Then
        Call Mail_small_Text_Outlook
    End If
End Sub

1 个答案:

答案 0 :(得分:0)

Worksheet_Change事件链接到1个工作表。如果将以下代码放在工作表代码标签中,则该代码仅适用于该特定工作表

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$C$1" Then
MsgBox ("Change happend!")
End If

End Sub  

因此,我想如果您希望在所有工作表中都发生这种情况,则可以调用模块或将其复制到所有工作表中。