如果某个范围内的任何单元格发生更改(C5到c25),我会尝试自动运行宏。
正如您在下面的代码中看到的,它应该会自动显示一个消息框,询问用户是否继续(如果用户说是,则运行宏)。
一旦我更改了任何一个单元格(从c5到c25),我无法让代码开始运行。
这是代码 - 它不是我自己的代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Target.Worksheet.Range("C5:C25")) Is Nothing Then Reminder
End Sub
Sub Reminder()
'
' Reminder Macro
'
response = MsgBox("Do you want to set a reminder in Outlook for when the next update is required? If yes, make sure your Microsoft Outlook is open.", vbYesNo)
If response = vbNo Then
MsgBox ("You selected 'No'")
Exit Sub
End If
'Rest of my macro code goes here...
End sub
谢谢!
答案 0 :(得分:1)
确保您的代码位于Worksheet的代码模块中。从上面的注释中,您可以在模块3中指出它。它需要移动到工作表的代码模块。
答案 1 :(得分:0)
尝试:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("C5:C25"), Target) Is Nothing Then
Call reminder
End If
End Sub
答案 2 :(得分:0)
您的代码工作正常,请确保将其放在Worksheet对象中。此外,我相信代码在您保存为xlsm,关闭并重新打开之前不会处于活动状态。