Об'єкт програми Excel VBA - Прості макроси Excel

Зміст

Робочий лист Функція | Оновлення екрана | DisplayAlerts | Розрахунок

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

Робочий лист Функція

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

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

Діапазон ("A3"). Значення = Application.WorksheetFunction.Average (Діапазон ("A1: A2"))

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

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

Діапазон ("A3"). Значення = "= СЕРЕДНЯ (A1: A2)"

Оновлення екрана

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

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

Dim i як ціле число
Для i = 1 до 10000
Діапазон ("A1"). Значення = i
Далі i

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

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

Dim i як ціле число
Application.ScreenUpdating = Неправда
Для i = 1 до 10000
Діапазон ("A1"). Значення = i
Далі i
Application.ScreenUpdating = Правда

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

DisplayAlerts

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

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

ActiveWorkbook.Закрити

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

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

Application.DisplayAlerts = Неправда
ActiveWorkbook.Закрити
Application.DisplayAlerts = Правда

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

Розрахунок

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

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

Application.Calculation = xlCalculationManual

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

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

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

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

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

Application.Calculation = xlCalculationAutomatic

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave