我在excel中创建了一个板球表。我还创建了一个宏,用于在超过保龄球时等于20(A T-20匹配)时显示消息。我的问题是,当超过20时没有显示任何消息,除非我按下快捷键。有什么我可以这样做的,每当超过20时,会自动显示一条消息。
我的代码是:
Sub Innings()
If Range("H43") = 20# Then
MsgBox "Innings Completed"
End If
End Sub
答案 0 :(得分:3)
在工作表代码区域中包含以下宏:
Private Sub Worksheet_Calculate()
Call Innings
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("H43")) Is Nothing Then
Call Innings
End If
End Sub
因为它们是工作表代码宏,所以它们非常易于安装和自动使用:
如果您有任何疑虑,请先试用试用版。
如果保存工作簿,宏将随之保存。 如果您在2003年之后使用的是Excel版本,则必须保存 该文件为.xlsm而不是.xlsx
删除宏:
要了解有关宏的更多信息,请参阅:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
和
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
要了解有关事件宏(工作表代码)的更多信息,请参阅:
http://www.mvps.org/dmcritchie/excel/event.htm
必须启用宏才能使其正常工作!
答案 1 :(得分:1)
加里的学生代码运作良好。您只需要将Worksheet_Change和Worksheet_Calculate写入List1而不是Module1。我添加了一张图片。