Excel工作表更改事件是最常用的事件代码之一。一般来说,当工作表的内容更改时,将激活此事件。
Change事件的过程框架如下,其中参数Target是Range类型变量,表示工作表中已更改的单元格范围。
Private Sub Worksheet_Change(ByVal Target As Range)
Your code
End Sub
让我们看一下最简单的示例,将代码写入工作表模块,如下图所示。

Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox "发生变化的单元格是:" & Target.Address
End Sub



在Sheet2工作表中选择从B3到E8的单元格范围,输入“ 2”,然后按快捷键填写数据。将显示如下图所示的提示框,并且Target.Address将返回到更改后的单元格范围绝对地址。

有时您需要指定Change事件的有效单元格区域,然后需要在编码过程中做出相应的判断。所使用的方案基本上可以分为以下两种类型。
Private Sub Worksheet_Change(ByVal Target As Range)
Const TARGET_RNG = "A1"
Application.EnableEvents = False
With Target
If .Count = 1 Then
If .Address = Range(TARGET_RNG).Address Then
Your Code
End If
End If
End With
Application.EnableEvents = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Const TARGET_RNG = "A5:B10"
Application.EnableEvents = False
With Target
If .Count = 1 Then
Set c = Application.Intersect(Range(TARGET_RNG), Target)
If Not c Is Nothing Then
Your Code
End If
End If
End With
Application.EnableEvents = True
End Sub
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-348467-1.html
时间不定
买到仿制假冒的了