【代码模板002】Excel工作表Change事件

162 篇文章 16 订阅
4 篇文章 0 订阅
前言

        Excel工作表Change事件是最常用的事件代码之一,使用事件代码需要判断的场景基本上可以分为如下两种。

场景1:监测单个单元格

        顾名思义,只有某个指定单元格发生变化时,才进行后续的处理。

        首先判断发生变化的单元格是为单个单元格,接着使用Target.Address = Range(TARGET_RNG).Address作为判断条件,判断是否为指定的单元格,如果需要监测其他单元格,只需要修改常量 TARGET_RNG。

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
场景2:监测指定区域

        如果需要监测某个单元格区域,例如:A5:B10的单元格区域内的某个单元格发生变化时,运行相关代码,可以使用下面的代码。这个应用场景可以兼容“场景1”。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值