我是靠谱客的博主 等待老虎,最近开发中收集的这篇文章主要介绍【Excel VBA】单元格变更事件,单元格内容变更自动触发:Worksheet_Change说明实现功能代码code使用说明,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

纲举目张

  • 说明
  • 实现功能
  • 代码code
  • 使用说明

说明

我们一般触发或者执行一段宏命令都是通过自定义按钮或者自定义快速访问栏调用相关宏命令,前一段时间在CSDN中回答网友提问的问题时,我无意中测试成功了一些Excel的内置事件,其中符合网友要求的就是单元格变更事件Worksheet_Change。
添加该事件的方法:Alt+F11调出Microsoft Visual Basic for Applications窗口,双击该文件下的相应的Sheet,例如Sheet1,在右侧出现的Sheet1 (代码)窗口的左上部选择Worksheet,在其右边的选择框中选择Change。下方的代码区则自动生成相应的代码段。如下图:
添加事件方法

实现功能

根据网友提出的需求:在单元格中选择“开”时,其右侧为随机函数生成一个随机数,当选择“关”时,其右侧为0。需求如下图:

需求示意

代码code

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Cells.Count > 1 Then
    '如果目标区域含有多个单元格 则退出
    Exit Sub
  End If

  If Target.Column <> 2 Or Target.Row <> 3 Then
    '如果目标单元格不是B3 则退出
    Exit Sub
  End If

  If Target.Value = "关" Then
    '如果选择的是关,则将C3单元格赋值为 0
    Cells(3, 3).Value = "0"
  Else
    '如果选择的是开,则将C3单元格赋公式
    Cells(3, 3).Formula = "=RAND()"
  End If
End Sub

使用说明

1、在上述代码中我将系统自动生成的代码段也放入了进来,方便初学者对比截取。
2、事件的参数是Range对象,无论是哪个单元格的值发生变化,都会触发该语句,所以需要在语句的最开始需要对传入的单元格进行判断,如果不是开关所在的B3单元格,则退出该语句。
3、请点击下载本文附件

如有意见建议或使用中出现Bug请留言,谢谢!

最后

以上就是等待老虎为你收集整理的【Excel VBA】单元格变更事件,单元格内容变更自动触发:Worksheet_Change说明实现功能代码code使用说明的全部内容,希望文章能够帮你解决【Excel VBA】单元格变更事件,单元格内容变更自动触发:Worksheet_Change说明实现功能代码code使用说明所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部