利用excel中vba的工作表事件进行数据的自动计算

 时间:2024-10-11 21:10:15

1、例如,在工作表的A列有一些不规律的数据混合运算,我们需要将运算结果计算出来并且放置在B列。通常我们需要一个一个在A列中将数据复制下来,然后在B列中录入等号,再粘贴A列数据,就能完成计算工作,但是,当A列数据量大至几百几千甚至更多时,这种方法是不可取。这时,我们用触发工作表事件的vba代码来完成就比较简便了。

利用excel中vba的工作表事件进行数据的自动计算

2、既然我们要用vba代码的方法解决这个问题,我们首先就要调出vba的代码窗口。点击【开发工具】选项卡下的【visual basic】,就调出了相关工作表的【microsoft visual basic for application】的窗口,点击【视图】/【工程资源管理器】、【代码窗口】,就调出了vba代码编辑窗口和工程资源管理器的窗口(工程--VBAProject)。

利用excel中vba的工作表事件进行数据的自动计算

3、点击【工程--VBAProject】下方【Microsoft Exeel对象】下我们要计算数据所在的工作表,此例中是名称为【sheet1】的工作表,然后点击右侧代洁船诼抨码窗口对象框内下拉箭头,注意选择【worksheet】,右侧框内就会自动调出【selectionchange】(也可以点击右侧框内下拉箭头调出selection change)。这时,在代码区,就会自动出现:Private Sub Worksheet_SelectionChange(ByVal Target As Range)End Sub

利用excel中vba的工作表事件进行数据的自动计算
利用excel中vba的工作表事件进行数据的自动计算

4、将代码添加中间内容成为下列代码:Private Sub Worksheet_SelectionChange(蚱澄堆别ByVal Target As Range)Dim rsrs = Application.CountA(Columns(1))If Target.Address = Range("a1:a" & rs).Address ThenFor i = 2 To rsCells(i, 2) = "=" & Cells(i, 1)NextEnd IfEnd Sub

利用excel中vba的工作表事件进行数据的自动计算

5、好了,见证奇迹的时刻到了。本例中我们要计算到A10单元格,只要我们选择区域【A1:A10】,结果就会自动计算出来并放置在B列中了。注意,一定要选择【A1:A10】,而不要选择【A2:A10】或者别的区域。因为我们上述代码是【If Target.Address = Range("a1:a" & rs).Address Then】后面执行计算的。

利用excel中vba的工作表事件进行数据的自动计算

6、不仅如此,我们的代码还能动态自动计算呢。我们在A10下方单元格中添加任意多的数据算式,为演示的方便,本例中我们添加了3个至A13单元格。

利用excel中vba的工作表事件进行数据的自动计算

7、添加后,本例中我们要计算到A13单元格,只要我们选择区域【A1:A13】,结果就会自动计算出来并放置在B列中了。同理:一定要选择【A1:A13】,而不要选择【A2:A13】或者别的区域。怎么样,你学会了吗?请动手试一试吧。

利用excel中vba的工作表事件进行数据的自动计算
  • 如何用VBA删除工作表
  • EXCEL VBA 给单元格添加超链接
  • excel vba行列选择
  • excel使用vba将公式转换为公式值的方法
  • Excel vba批量提取文件名+修改文件名!
  • 热门搜索
    手抄报的图案 运动会的手抄报 关于健康的手抄报内容 阳光下成长手抄报内容 迎国庆的手抄报 英语手抄报的英文 关于名著的手抄报 关于科普类的手抄报 中秋佳节手抄报 木偶奇遇记手抄报