在Excel中,您可以设置当单元格公式结果发生变化时自动运行一个宏。以下是在Excel中设置此功能的完整攻略:
-
打开包宏的Excel工作簿。
-
在“开发人员”选项卡中,选择“Visual Basic”。
-
“Microsoft Visual Basic for Applications”窗中,选择“这个工作簿”。
-
在“这个工作簿”窗口中,选择“Workbook”对象。
-
在“Workbook”对象中,选择“Worksheet_Change”事件。
-
在“Worksheet_Change”事件中,输入要运行的宏代码。
-
保存宏代码并关闭“Microsoft Visual Basic for Applications”窗。
现在,当单元格公式结果发生变化时,Excel将自动运行宏。
以下是两个示例:
示例1:在Excel中设置当单元格公式结果发生变化时自动更新图表
假设您有一个名为“销售数据”的Excel工作簿其中包含每个月的销售数据和一个图表。您想要设置当销售数据发生变化,图表自动更新。以下是如何完成此操作的完整攻略:
-
打开包含宏的Excel工作簿。
-
在“开发人员”选项卡中,选择“Visual Basic”。
-
在“Microsoft Visual Basic for Applications”窗口中,选择“这个工作簿”。
-
在“这个工作簿”窗口中,选择“Workbook”对象。
-
在“Workbook”对象中,选择“Worksheet_Change”事件。
-
输入以下宏代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:B12")) Is Nothing Then
ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.Refresh
End If
End Sub
- 保存宏代码并关闭“Microsoft Visual Basic for Applications”窗口。
现在,当单元格A1:B12中的任何一个单元格发生变化时,Excel将自动更新图表。
示例2:在Excel中设置当单元格公式结果发生变化时自动发送电子邮件
假设您有一个名为“订单记录”的Excel工作簿,其中包含每个订单的订单号和客户名称。您想要设置当订单状态发生变化时,自动发送电子邮件给客户。以下是如何完成此操作的完整攻略:
-
打开包含宏的Excel工作簿。
-
在“开发人员”选项卡中,选择“Visual Basic”。
-
在“Microsoft Visual Basic for Applications”窗口中,选择“这个工作簿”。
-
在“这个工作簿”窗口中,选择“Workbook”对象。
-
在“Workbook”对象中,选择“Worksheet_Change”事件。
-
输入以下宏代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C2:C100")) Is Nothing Then
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
With OutMail
.To = Range("B" & Target.Row).Value
.Subject = "订单状态更新"
.Body = "尊敬的客户,您的订单状态已更新。"
.Send
End With
Set OutMail = Nothing
Set OutApp = Nothing
End If
End Sub
- 保存宏代码并关闭“Microsoft Visual Basic for Applications”窗口。
现在,当订单状态发生变化时,Excel将自动发送电子邮件给客户。