EnableEvents事件的理解
来源:百度文库 编辑:神马文学网 时间:2024/04/28 17:01:31
Private Sub Worksheet_Change(ByVal Target As Range)
Dim iRow As Integer
iRow = Target.Row
'Application.EnableEvents = False
Cells(iRow, 3) = Cells(iRow, 3) + Cells(iRow, 2)
'Application.EnableEvents = True
End Sub
如上代码:
加上'Application.EnableEvents = False代码 就禁用了Worksheet_Change 不再触发
省略就不断的触发,导致结果不正确,代码死循环
--------------------------------------
Me.DTPicker1.日期控件的注册和使用
工具--引用-Microsoft windows common controls-2 6.0(sp4)
DTPicker 控件(Microsoft date and time picker contorl 6.0),
MSCOMCT2.OCX 与文件放在同一目录,再加上下面的代码
注释掉这句。
Add a "s" (Means Silent; display no message boxes) parameter: 解释开关s 的目的,意思是“静止的,不显示对话框”。
Private Sub Workbook_Open()
Shell "REGSVR32 /s " & ThisWorkbook.Path & "\MSCOMCT2.OCX"
Sheet1.Visible = xlSheetVeryHidden
Sheet2.ScrollArea = "$A$1:$R$23"
End Sub
***相关代码
Private Sub DTPicker1_CloseUp()
'禁用事件,在将DTP控件的值更新到单元格时,防止Worksheet_Change被误激活
Application.EnableEvents = False
ActiveCell.Value = Me.DTPicker1.Value
Me.DTPicker1.Visible = False
'启用事件
Application.EnableEvents = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
'判断是否只选中了单个单元格
If Target.Count = 1 Then
'如果删除第三列的单元格内容,则隐藏DTP控件
If Target.Column = 3 And Target = "" Then
Me.DTPicker1.Visible = False
End If
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count = 1 Then
Application.EnableEvents = False
If Target.Column = 3 Then
With Me.DTPicker1
.Visible = True
'调整DTP控件的位置,使其显示在当前单元格之中
.Top = Target.Top
.Left = Target.Left
If Target <> "" Then
'如果当前单元格已有内容,则设置DTP控件初始值为当前单元格日期,否则为系统当前日期
.Value = Target.Value
Else
ActiveCell.Value = Date
End If
End With
Else
Me.DTPicker1.Visible = False
End If
Application.EnableEvents = True
End If
End Sub
注册到目标电脑
Microsoft date and time picker contorl 6.0 选择这个 就可以在工作表上画出DTPicker 控件
Dim iRow As Integer
iRow = Target.Row
'Application.EnableEvents = False
Cells(iRow, 3) = Cells(iRow, 3) + Cells(iRow, 2)
'Application.EnableEvents = True
End Sub
如上代码:
加上'Application.EnableEvents = False代码 就禁用了Worksheet_Change 不再触发
省略就不断的触发,导致结果不正确,代码死循环
--------------------------------------
Me.DTPicker1.日期控件的注册和使用
工具--引用-Microsoft windows common controls-2 6.0(sp4)
DTPicker 控件(Microsoft date and time picker contorl 6.0),
MSCOMCT2.OCX 与文件放在同一目录,再加上下面的代码
注释掉这句。
Add a "s" (Means Silent; display no message boxes) parameter: 解释开关s 的目的,意思是“静止的,不显示对话框”。
Private Sub Workbook_Open()
Shell "REGSVR32 /s " & ThisWorkbook.Path & "\MSCOMCT2.OCX"
Sheet1.Visible = xlSheetVeryHidden
Sheet2.ScrollArea = "$A$1:$R$23"
End Sub
***相关代码
Private Sub DTPicker1_CloseUp()
'禁用事件,在将DTP控件的值更新到单元格时,防止Worksheet_Change被误激活
Application.EnableEvents = False
ActiveCell.Value = Me.DTPicker1.Value
Me.DTPicker1.Visible = False
'启用事件
Application.EnableEvents = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
'判断是否只选中了单个单元格
If Target.Count = 1 Then
'如果删除第三列的单元格内容,则隐藏DTP控件
If Target.Column = 3 And Target = "" Then
Me.DTPicker1.Visible = False
End If
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count = 1 Then
Application.EnableEvents = False
If Target.Column = 3 Then
With Me.DTPicker1
.Visible = True
'调整DTP控件的位置,使其显示在当前单元格之中
.Top = Target.Top
.Left = Target.Left
If Target <> "" Then
'如果当前单元格已有内容,则设置DTP控件初始值为当前单元格日期,否则为系统当前日期
.Value = Target.Value
Else
ActiveCell.Value = Date
End If
End With
Else
Me.DTPicker1.Visible = False
End If
Application.EnableEvents = True
End If
End Sub
注册到目标电脑
Microsoft date and time picker contorl 6.0 选择这个 就可以在工作表上画出DTPicker 控件
EnableEvents事件的理解
揭秘:中国史上16件不可理解的荒唐事件
史上16件不可理解的荒唐事件
史上16件不可理解的荒唐事件
中国历史上16件不可理解的荒唐事件
关于人民币的连串事件(看完终于理解中国经济现状) -
由李庄事件谈对法治理解的误区-社会思潮批判-马克思主义评论网
关于session_cache_expire 的理解
理解构图的含义
理解的赤字
对“类”的理解
[理解]Traceback的含义
JNDI的简单理解
量子计算机的理解
我理解的放生
色即是空,空即是色的理解
迟到的理解
对BOM的理解
高效课堂的理解
我理解的psk
婚姻的经济学理解
孔融让梨的另类理解
孔融让梨的另类理解
量子计算机的理解