日期计算(VBA中的Application)

《VBA经典应用69例》(10178981),是我推出的第九套教程,教程是专门针对初级、中级学员在学习VBA过程中可能遇到的案例展开,这套教程案例众多,紧贴“实战”,并做“战术总结”,以便大家能很好的应用。教程的目的是要求大家在实际工作中要利用好VBA。本套教程共三册六十九个专题,今日内容:应用2:VBA中的Application.Calculation,公式的计算方式

应用2 VBA中的Application.Calculation

大家好,我们今天开始第二个专题的应用讲解。本来这个应用没有列入我的写作计划之中,但碰巧,最近总有学员向我反馈类似的问题,说自己的程序运行缓慢,我查了一下大家发给我的程序文件,大多数是“公式自动计算”惹的祸。许多学员都是玩EXCEL的高手,在VBA转型期间还有写工作表函数的习惯,往往在EXCEL工作表中保留有大量的公式,每当工作表的单元格发生改变时,公式就要自动重新计算,从而浪费了大量的时间。那么如何解决这个问题呢?这讲给大家讲解。

1 公式的计算方式

在当今世界,机器的大脑在数值计算方面可能比人的大脑工作速度快。比如,数学计算一些数值时,计算器、手机和笔记本电脑的使用可以确保快速准确地计算出结果,而大脑往往很难达到这种实际的需求,这是科学技术的发展带给我们实际生活的便利。

Microsoft Excel 可以让应用者使用各类公式,这些公式还可以反复使用。如果在一个单元格中选择公式并将其向下拖动,则可以轻松地将其复制到其他单元格中,结果将在每个单元格中进行相应地计算,其结果就是在工作表中往往会存在大量的公式。

在"公式"菜单下有一个名为"计算"的类别。它提供了三种计算模式选项:自动、除模拟运算表外,自动重算、手动。如下截图:

这些选项帮助我们决定何时以及如何在单元格中进行公式的计算。

① 自动 默认情况下,所有计算都是自动的。例如,让我们假设单元格A1值为10,单元格B1 值为5。现在,在单元格C1中,如果我输入一个公式“=A1+B1”,然后按下回车,"15"将立即(自动)在单元格C1中可见。这意味着我们不需要手动调用计算。光标一离开单元格就会发生计算。

② 除模拟运算表外,自动重算 此选项使 Excel 能够自动计算所有单元格,但涉及数据表的单元除外。此处的数据表并不意味着正常表,或明确通过外部连接加载的表。它具体是数据分析数据表(Data What-if Analysis Data Table)。什么是Data What-if Analysis Data Table呢?我们可以看下面的截图:

对于数据分析表的应用大家可以去查找相应的资料,这里不做讲解。

③ 手动 让我们假设与①有相同的场景,其中单元格A1值5和B1值10。C1单元格是A1和B1的总和:= A1+ B1。由于默认选项是"自动",我们可以看到 C1 的价值为 15。现在,将计算选项更改为"手动"。将 A1 值更改为 30,然后单击"回车"。你将看到C1值没有变化。手动单击同一菜单"公式与计算"中的"立即计算"选项(或者F9)。现在我们可以看到,C1单元格的值已经变为40。

本讲内容参考程序文件:应用002.xlsm

分享成果,随喜正能量】人与人之间都是相互的,你给人搭桥,别人为你铺路;你让人难堪,别人给你添堵;智慧越高的人,越是懂得相互成全。。

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:

声明:好星座所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者VBA语言専攻所有,原文出处。若您的权利被侵害,请联系 删除。

本文链接:https://www.haoxingzuo.com/w/33650.html