小兔网

工作表功能   |  屏幕更新   |  DisplayAlerts   |  计算方式

所有对象之母都是Excel本身。我们称其为Application对象应用程序对象可以访问许多与Excel相关的选项。

工作表功能

您可以使用Excel VBA中的WorksheetFunction属性来访问Excel函数。

1.例如,在工作表上放置一个命令按钮,并添加以下代码行:

Range(“ A3”)。Value = Application.WorksheetFunction.Average(Range(“ A1:A2”))

当您单击工作表上的命令按钮时,Excel VBA将计算单元格A1和单元格A2中值的平均值,并将结果放入单元格A3中。

Excel VBA中的WorksheetFunction

注意:代替Application.WorksheetFunction.Average,只需使用WorksheetFunction.Average。如果查看公式栏,可以看到公式本身未插入到单元格A3中。要将公式本身插入单元格A3中,请使用以下代码行:

Range(“ A3”)。Value =“ = AVERAGE(A1:A2)”

屏幕更新

有时,您可能会发现在执行代码时禁用屏幕更新(以避免闪烁)很有用。结果,您的代码将运行得更快。

1.例如,在工作表上放置一个命令按钮,并添加以下代码行:

Dim i 作为 整数

 i = 1  10000
    Range(“ A1”)。Value = i
下一个 i

当您单击工作表上的命令按钮时,Excel VBA会在很小的时间内显示每个值,这可能需要一些时间。

屏幕更新

2.为加快此过程,请按如下所示更新代码。

昏暗 i 作为 整数

Application.ScreenUpdating = False

对于 i = 1  10000
    Range(“ A1”)。Value = i
下一个 i

Application.ScreenUpdating = True

结果,您的代码将运行得更快,并且您只会看到最终结果(10000)。

显示警报

您可以指示Excel VBA在执行代码时不要显示警报。

1.例如,在工作表上放置一个命令按钮,并添加以下代码行:

ActiveWorkbook。关闭

当您单击工作表上的命令按钮时,Excel VBA关闭您的Excel文件,并要求您保存所做的更改。

显示警报

2.要指示Excel VBA在执行代码时不要显示此警报,请按以下方式更新代码。

Application.DisplayAlerts = False

ActiveWorkbook.Close

Application.DisplayAlerts = True

如此一来,Excel VBA将关闭您的Excel文件,而不要求您保存所做的更改。任何更改都将丢失。

计算方式

默认情况下,计算设置为自动。因此,每次影响公式的值更改时,Excel都会自动重新计算工作簿。如果您的工作簿包含许多复杂的公式,则可以通过将计算设置为手动来加快宏的速度。

1.例如,在工作表上放置一个命令按钮,并添加以下代码行:

Application.Calculation = xlCalculationManual

当您单击工作表上的命令按钮时,Excel VBA会将计算设置为手动。

2.您可以通过单击文件,选项,公式来验证这一点。

计算选项

3.现在,当您更改单元格A1的值时,将不重新计算单元格B1的值。

手动计算

您可以通过按F9手动重新计算工作簿。

4.在大多数情况下,您将在代码末尾再次将计算设置为自动。只需添加以下代码行即可实现此目的。

Application.Calculation = xlCalculationAutomatic