首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

VBA中的Application.Calculation,公式的计算方式

《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

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

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230624A05E2V00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券