第五章事件篇 5。7WorksheetSelectionChange事件 这是一个工作表事件,当代码所在的工作表的内容被鼠标选择时,触发该事件。 我们先来看一下这个事件的语句结构: PrivateSubWorksheetSelectionChange(ByValTargetAsRange) EndSub 与WorksheetChange事件一样,这个事件也有一个单元格变量Target,它代表被选择的单元格。下面我们通过一个案例来学习这个事件的应用。 在下图a1单元格到d9单元格的一片区域里,我们任意选择几个数字,把最大值填充为红色,把最小值填充为蓝色,并在状态栏显示最大值和最大值单元格地址、最小值和最小值单元格地址。 375hr401hr349hr334hr395hr435hr440hr381hr489hr432hr337hr393hr330hr322hr324hr370hr390hr412hr377hr447hr369hr405hr453hr438hr497hr358hr379hr475hr474hr377hr462hr393hrPrivateSubWorksheetSelectionChange(ByValTargetAsRange) 〔a1:d9〕。Interior。ColorIndexo先清空区域里的填充颜色 IfTarget。Count1ThenExitSub如果只选择一个单元格,退出程序 Dim最大值AsRange,最小值AsRange IfApplication。Count(Target)0Then Application。StatusBar 统计选中区域数值的个数,如果随意选了区域外的空白单元格,就把状态栏设置为空。Application。StatusBar为设置状态栏语句。 Else zdApplication。Max(Target)查找出最大值 Set最大值Target。Find(zd,,xlValues,1)查找出最大值单元格 最大值地址最大值。Address(0,0)最大值单元格的地址,如果没有(0,0),系统会显示绝对地址,如:A1,(0,0)会把地址中的去掉 最大值。Interior。ColorIndex3将该单元格填充成红色 zxApplication。Min(Target)查找出最小值 Set最小值Target。Find(zx,,xlValues,1)查找出最小值单元格 最小值地址最小值。Address(0,0)最小值单元格的地址 最小值。Interior。ColorIndex5将该单元格填充成蓝色 xs最大值:zd最大值地址最小值:zx最小值地址 Application。StatusBarxs 把要显示的内容赋值给变量xs,然后设置状态栏 EndIf EndSub 程序运行的结果如下: 状态栏显示如下: 往期精彩回顾: 学习VBA,报表做到飞第五章事件篇5。6WorksheetChange事件 学习VBA,报表做到飞第五章事件篇5。5WorkbookBeforePrint事件 学习VBA,报表做到飞第五章事件篇5。4WorkbookNewSheet事件 我是云飞扬,职场财会人员,愿与大家分享表格制作和数据统计分析的技巧与方法,希望大家的工作更便捷,更轻松!