当一个单元格等于另一个工作表中的另一个单元格时,我试图触发电子邮件。我进行了一些研究,发现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
答案 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
因此,我想如果您希望在所有工作表中都发生这种情况,则可以调用模块或将其复制到所有工作表中。