这可能是一个非常简单的答案。 我在Excel电子表格上设计了一个捕获表,并为单元格D2使用了DatePicker。到现在为止还挺好。当我关闭电子表格时,我有一个小宏来设置打印区域B1:M37准备打印。发生这种情况时,宏会激活日期选择器,必须先手动关闭才能继续打印。如何抑制事件发生,或使用代码关闭用户表单。我的代码如下:
Sub Test_a_Print_again()
Range("B1:M37").Select
ActiveSheet.PageSetup.PrintArea = "$B$1:$M$37"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Range("B1").Select
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("D2")) Is Nothing Then frmCalendar.Show '
End Sub
答案 0 :(得分:1)
您的SelectionChange事件由以下行触发:
Range("B1:M37").Select
你可以做几件事:
在Worksheet_SelectionChange事件中,如果您只想运行它 如果选择D2且仅选择D2,则可以添加另一个条件:
如果Target.Cells.Count> 1然后退出Sub 如果不相交(目标,范围(“D2”))什么都没有那么frmCalendar.Show
但同样,我只是摆脱了Select语句。