调用vba_VBA代码解决方案的第86讲内容:VBA代码的优化篇
大家好,我们今日继续讲解VBA代码解决方案的第86讲内容:VBA代码的优化篇,使用工作表函数要比代码计算快很多。在代码的优化的上一篇中我讲到了关闭屏幕更新可以有效的节约程序的运行时间,那么是不不是必须要关闭屏幕更新以得到更好的运行效率呢?根据我的经验不是这样的。在有的时候我们还是需要看到屏幕的更新而获得一种动态的程序运行效果的,也就是说我们在获得节约时间的时候往往会牺牲视觉效果。这就要看看程序员的选择和好恶了。今日我们讲在VBA中使用工作表函数比仅仅使用VBA代码的运行时间的比较。
如下面的代码所示。
Sub MyShFunction()
Dim i
Dim t As Date
Dim t1 As String
Dim t2 As String
Range("B1:B4").ClearContents
Application.ScreenUpdating = False
t = Timer
For i = 1 To 60000
Sheets("sheet10").Cells(1, 2) = Sheets("sheet10").Cells(1, 2) + Sheets("sheet10").Cells(i, 1)
Next
t1 = Timer - t
t = Timer
Sheets("sheet10").Cells(2, 2) = Application.WorksheetFunction.Sum(Sheets("sheet10").Range("A1:A60000"))
t2 = Timer - t
Application.ScreenUpdating = True
Sheets("sheet10").Cells(3, 2) = Format(t1, "0.00000")
Sheets("sheet10").Cells(4, 2) = Format(t2, "0.00000")
MsgBox "第一次运行时间:" & Format(t1, "0.00000") & "秒" _
& Chr(13) & "第二次运行时间:" & Format(t2, "0.00000") & "秒"
End Sub
代码解析:
MyShFunction过程分别使用VBA代码和调用工作表Sum函数对单元格区域进行求和计算,最后使用消息显示运行时间。
第9行到第11行代码使用VBA的累加方法计算单元格A1:A60000的和。
第14行代码调用工作表Sum函数计算单元格A1:A60000的和。
运行ShFunction过程,消息框显示两种方法的运行时间,可以看出调用工作表函数进行计算的运行时间要远远小于使用累加方法运行的时间,
代码窗口:
今日内容回向:
1 本讲讲的第二种优化代码的方案是什么?
2 工作表函数如何引用呢?
欢迎到我的自媒体平台沟通交流:个人微信号“NZ9668”、头条号“VBA专家”、百家号“VBA与GO语言”、微信公众号“NZ_9668”、社群“VBA学习交流群”。
这一系列文章是根据我多年的工作经验编写的,也是一直在利用的工具,非常方便好用。现在分享出来,希望能对同样在职场打拼的朋友有些许的帮助,使你的工作更加高效、流畅。朋友们有问题请随时提出来,我们一起探讨学习。对数据分析有需要的公司、组织或个人可以直接联系我,及时为你提供专业的定制技术支持。
工作不是一切。工作是每个人安身立命、成长发展的基础。但你要知道工作是永远也做不完的,时间会抹去很多问题。多关注自己、家人和朋友,这些才是我们生活中更为重要的东西。
调用vba_VBA代码解决方案的第86讲内容:VBA代码的优化篇相关推荐
- vba遍历数组_VBA代码解决方案的第59讲内容:如何在代码运行时创建数组
大家好,我们今日继续讲解VBA代码解决方案的第59讲内容:如何在代码运行时创建数组 .数组大家并不陌生,在之前我讲过很多了,估计详细阐述数组的只有我这个平台可以找到了,今日讲的是在VBA中代码运行的时 ...
- vba移动文件_VBA代码解决方案的第68讲内容:利用WSH,复制文件
大家好,我们今日继续讲解VBA代码解决方案的第68讲内容:利用WSH,复制文件.在上一讲中,我讲了利用WSH脚本语句实现了文件的移动的问题,今日我们继续来讲解利用这个方法实现文件复制的方法. 如果需要 ...
- access子窗体的控件vba怎么写_第37讲:VBA代码中运行错误的处理方式
大家好,本来在这一讲要接着我们的上一讲内容讲解二师兄的成长过程之九,但之九的内容是错误的处理,为了大家能更好的掌握之九二师兄的成才内容,我们临时加入一讲专门讲解VBA中错误处理,这一讲中我重点讲一下V ...
- 将Vba代码转换成Php代码,将这个Excel公式转换成VBA代码(函数)
将这个Excel公式转换成VBA代码(函数) 这是Excel中的公式,我试图转换为VBA代码: =IFERROR(IF(effDate>curDate,0,IF((curDate-effDate ...
- 简单代码大全_VBA爱好者请进:VBA代码宝概述
VBA 代码宝是 ExcelHome 出品的共享工具类软件之一. 虽然 Office 软件本身已经足够强大,但仍然有很多特色功能,需要使用 VBA 来进行定制开发.无论是VBA小白还是经验丰富资深开发 ...
- vba 当前文件名_VBA代码解决方案第77讲内容:如何导出文件
大家好,我们今日继续讲解VBA代码解决方案的第77讲内容:如何导出文件,形成一个文本文件,如果需要将工作表中的数据保存为文本文件,可以创建一个文本文件用于保存数据. 应用于FileSystemObje ...
- vue 鼠标点击事件_VBA代码解决方案第115讲:点击鼠标实现精准控制触发事件的VBA代码第二方案...
大家好,我们今日继续讲解VBA代码解决方案的第115讲内容:工作表事件中,根据Target参数不同,实现精准控制触发事件的VBA代码第二方案.在上一讲中我们讲了利用Address的属性实现控制触发事件 ...
- sqlyog怎么查找表_VBA代码解决方案第58讲:在VBA中查找指定工作表的实用方法
大家好,我们今日继续讲解VBA代码解决方案的第58讲内容:在VBA中查找指定工作表的方法.在上一个例子中,我们通过一个自定义函数解决了删除工作表的方法.其实实现目的的方法有很多种,不必要必须有某种办法 ...
- vba 判断文本框内容是否为空_VBA代码解决方案第119讲:如何遍历工作表中的图形...
大家好,我们今日继续讲解VBA代码解决方案的第119讲内容:如何遍历工作表中的图形.其实这节的内容在我前面的章节中已经讲过,今日但拿出来,作为一节的专门的内容. 工作表中的多个图形,有时我们需要根据实 ...
- vba 判断文本框内容是否为空_校验数据一旦失败,VBA代码自动控制焦点返回的另一备选方案...
大家好,我们今日继续讲解VBA代码解决方案的第95讲内容:如果文本框的录入校验不能通过,光标仍返回文本框中的另一方案.在上一讲中我讲了利用EXIT事件中的Cancel 参数的设置来达到我们的目的(值是 ...
最新文章
- 如何安装旧版本的 R 包
- RookeyFrame 删除 线下添加的model
- git cherry-pick命令
- 进阶指令——df指令(作用:查看磁盘的空间)、free指令(作用:查看内存使用情况)、head指令(作用:查看一个文件的前n行,如果不指定n,则默认显示前10行)、tail指令、less指令
- Anaconda:Anaconda安装图文教程及其tensorflow安装、运行、测试之最强详细攻略
- 笔记-高项案例题-2017年下-整体管理-变更管理
- logs is not in the form of topic-partition or topic-partition.uniqueId-delete
- Qt文档阅读笔记-qRegisterMetaType()的原理及其使用
- Oculus首席科学家发声,称VR需要能够“欺骗”大脑
- vb.net 打开ie 传参数_FF与IE对javascript和CSS的区别?
- 《软件工程导论》课后习题答案
- Hibernate的单向1-1关联(二)
- 一文概述深度学习中的正则化(含Python代码)
- 重装 IDEA 再也不怕了,一招搞定配置同步!
- php学生管理系统整理
- Razer Synapse雷云本地提权漏洞的复现
- openpyxl批量删除表格中的空白行,并处理数据样式
- JS正则匹配实例邮箱、手机号、电话、货币
- element 复杂表格,表格合并
- 决策树案例:是否打网球