excel中使用vba时关闭屏幕更新优化代码运行速度

如题所述

小编致力于为大家奉献最有效的,让大家能够解决掉问题,但是大家也都知道,每个人遇到的情况都是不一样的,大家在看小编的同时,除了跟随操作,也需要自己的思考,举一反三的解决问题,这样才会变得更加有内涵,成为和小编一样的达人。excel中使用vba时关闭屏幕更新优化代码运行速度,这里,让小编给大家介绍一下。

首先我们打开一个工作样表作为例子。

使用alt+f11组合快捷键进入vbe编辑器,插入一个新的模块,并在模块中输入以下代码: Sub 关闭屏幕更新() MsgBox "顺序切换工作表Sheet1→Sheet2→Sheet3→Sheet2,先开启屏幕更新,然后关闭屏幕更新" Worksheets(1).Select MsgBox "目前屏幕中显示工作表Sheet1" Application.ScreenUpdating = True Worksheets(2).Select MsgBox "显示Sheet2了吗" Worksheets(3).Select MsgBox "显示Sheet3了吗" Worksheets(2).Select MsgBox "下面与前面执行的程序代码相同,但关闭屏幕更新功能" Worksheets(1).Select MsgBox "目前屏幕中显示工作表Sheet1" Chr(10) "关屏屏幕更新功能" Application.ScreenUpdating = False Worksheets(2).Select MsgBox "显示Sheet2了吗" Worksheets(3).Select MsgBox "显示Sheet3了吗" Worksheets(2).Select Application.ScreenUpdating = True EndSub

关闭屏幕更新的代码很简单,Application.ScreenUpdating,对象是application,screenupdating是方法,其值为true更新,false不更新。

运行这段代码,会依次切换Sheet1→Sheet2→Sheet3→Sheet2。这里我们可以看到这个切换是工作表的切换,使用的对象是worksheets(n)。当然我们还可以使用其他的对象选择方式进行切换。

每次选择完工作表后都会弹出一个msgbox并且显示当前的提示信息,当我么开启屏幕更新的时候,每一次运行选择工作表,都会在excel中显示出来。

而当我们运行了关闭屏幕更新后,再次进行同样的工作表切换,是不会在excel中显示出来。不过对工作表单元格的操作依然会正常的执行,从计算机显示切换来看,相当于是简化了这个流程,达到了提速优化的目的。

先写到这里了,谢谢大家的观看。 祝大家生活愉快。 小编还有许多其他的经验可以观看,如果无法解决问题可以联系小编进行咨询。 看不清楚图片的可以点击放大再看哦。

温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜