/ / Excel VBA Application Object

Excel VBA Application Object

Робочий аркушфункції | ScreenUpdating | DisplayAlerts | Розрахунок

Мати всіх об'єктів - сам Excel. Ми називаємо це Об'єкт програми. Об'єкт програми забезпечує доступ до багатьох параметрів, пов'язаних з Excel.

Робочий аркушфункції

Ви можете використовувати властивість WorksheetFunction в Excel VBA для доступу до функцій Excel.

1. Наприклад, розмістіть на вашій робочій клавіші команду та додайте наступну кодову рядок:

Range("A3").Value = Application.WorksheetFunction.Average(Range("A1:A2"))

Коли ви натискаєте кнопку команди на робочому аркуші, Excel VBA вираховує середнє значення значень у комірці A1 і комірці A2 і розміщує результат у комірці A3.

Робочий аркуш у файлі Excel VBA

Примітка: замість Application.WorksheetFunction.Середня, просто використовуйте WorksheetFunction.Average. Якщо ви подивитеся на панель формул, ви можете побачити, що сама формула не вставляється в комірку А3. Щоб вставити формулу в комірку А3, використовуйте таку кодову лінію:

Range("A3").Value = "=AVERAGE(A1:A2)"

ScreenUpdating

Іноді ви можете виявити корисним відключення оновлення екрану (щоб уникнути мерехтіння) під час виконання коду. В результаті ваш код буде працювати швидше.

1. Наприклад, розмістіть на робочому аркуші командну кнопку та додайте наступні кодові рядки:

Dim i As Integer

For i = 1 To 10000
    Range("A1").Value = i
Next i

Коли ви натискаєте кнопку команди на робочому аркуші, Excel VBA відображає кожне значення на мінімальну частку секунди, і це може зайняти деякий час.

ScreenUpdating

2. Щоб прискорити процес, оновіть код наступним чином.

Dim i As Integer

Application.ScreenUpdating = False

For i = 1 To 10000
    Range("A1").Value = i
Next i

Application.ScreenUpdating = True

Як результат, ваш код буде працювати набагато швидше, і ви побачите кінцевий результат (10000).

DisplayAlerts

Ви можете доручити Excel VBA не відображати попередження при виконанні коду.

1. Наприклад, розмістіть на вашій робочій клавіші команду та додайте наступну кодову рядок:

ActiveWorkbook.Close

Коли ви натискаєте кнопку команди на робочому аркуші, Excel VBA закриває ваш файл Excel і просить вас зберегти внесені вами зміни.

DisplayAlerts

2. Щоб інструкція Excel VBA не відображати це сповіщення під час виконання коду, оновіть код таким чином.

Application.DisplayAlerts = False

ActiveWorkbook.Close

Application.DisplayAlerts = True

Як результат, Excel VBA закриває ваш файл Excel без прохання зберегти внесені вами зміни. Будь-які зміни втрачені.

Розрахунок

За умовчанням обчислення встановлено автоматично. В результаті Excel Excel автоматично перераховує автоматично кожного разу, коли змінюється значення, що впливає на формулу. Якщо ваша робоча книга містить багато складних формул, ви можете прискорити макрос, встановивши розрахунок вручну.

1. Наприклад, розмістіть на вашій робочій клавіші команду та додайте наступну кодову рядок:

Application.Calculation = xlCalculationManual

Коли ви натискаєте кнопку команди на робочому аркуші, Excel VBA встановлює розрахунок вручну.

2. Ви можете підтвердити це, натиснувши Файл, Параметри, Формули.

Параметри розрахунку

3. Тепер, коли ви змінюєте значення клітинки A1, значення клітинки B1 не перераховується.

Ручне розрахунок

Ви можете вручну перерахувати книгу, натиснувши F9.

4. У більшості випадків ви знову встановите автоматичний розрахунок в кінці коду. Просто додати наступну кодову лінію, щоб досягти цього.

Application.Calculation = xlCalculationAutomatic
Також читайте: