工作表功能 | 屏幕更新 | DisplayAlerts | 计算方式
所有对象之母都是Excel本身。我们称其为Application对象。应用程序对象可以访问许多与Excel相关的选项。
工作表功能
您可以使用Excel VBA中的WorksheetFunction属性来访问Excel函数。
1.例如,在工作表上放置一个命令按钮,并添加以下代码行:
当您单击工作表上的命令按钮时,Excel VBA将计算单元格A1和单元格A2中值的平均值,并将结果放入单元格A3中。
注意:代替Application.WorksheetFunction.Average,只需使用WorksheetFunction.Average。如果查看公式栏,可以看到公式本身未插入到单元格A3中。要将公式本身插入单元格A3中,请使用以下代码行:
屏幕更新
有时,您可能会发现在执行代码时禁用屏幕更新(以避免闪烁)很有用。结果,您的代码将运行得更快。
1.例如,在工作表上放置一个命令按钮,并添加以下代码行:
, i = 1 到 10000
Range(“ A1”)。Value = i
下一个 i
当您单击工作表上的命令按钮时,Excel VBA会在很小的时间内显示每个值,这可能需要一些时间。
2.为加快此过程,请按如下所示更新代码。
Application.ScreenUpdating = False
对于 i = 1 到 10000
Range(“ A1”)。Value = i
下一个 i
Application.ScreenUpdating = True
结果,您的代码将运行得更快,并且您只会看到最终结果(10000)。
显示警报
您可以指示Excel VBA在执行代码时不要显示警报。
1.例如,在工作表上放置一个命令按钮,并添加以下代码行:
当您单击工作表上的命令按钮时,Excel VBA关闭您的Excel文件,并要求您保存所做的更改。
2.要指示Excel VBA在执行代码时不要显示此警报,请按以下方式更新代码。
ActiveWorkbook.Close
Application.DisplayAlerts = True
如此一来,Excel VBA将关闭您的Excel文件,而不要求您保存所做的更改。任何更改都将丢失。
计算方式
默认情况下,计算设置为自动。因此,每次影响公式的值更改时,Excel都会自动重新计算工作簿。如果您的工作簿包含许多复杂的公式,则可以通过将计算设置为手动来加快宏的速度。
1.例如,在工作表上放置一个命令按钮,并添加以下代码行:
当您单击工作表上的命令按钮时,Excel VBA会将计算设置为手动。
2.您可以通过单击文件,选项,公式来验证这一点。
3.现在,当您更改单元格A1的值时,将不重新计算单元格B1的值。
您可以通过按F9手动重新计算工作簿。
4.在大多数情况下,您将在代码末尾再次将计算设置为自动。只需添加以下代码行即可实现此目的。