Объект приложения Excel VBA - макросы Easy Excel

Содержание

WorksheetFunction | Обновление экрана | DisplayAlerts | Расчет

Мать всех объектов - это сам Excel. Мы называем это Объект приложения. Объект приложения предоставляет доступ ко многим параметрам, связанным с Excel.

Рабочий лист

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

1. Например, разместите на листе командную кнопку и добавьте следующую строку кода:

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

Когда вы нажимаете кнопку команды на листе, Excel VBA вычисляет среднее значение значений в ячейках A1 и A2 и помещает результат в ячейку A3.

Примечание: вместо Application.WorksheetFunction.Average просто используйте WorksheetFunction.Average. Если вы посмотрите на строку формул, вы увидите, что сама формула не вставлена ​​в ячейку A3. Чтобы вставить саму формулу в ячейку A3, используйте следующую строку кода:

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

Обновление экрана

Иногда может оказаться полезным отключить обновление экрана (чтобы избежать мерцания) во время выполнения кода. В результате ваш код будет работать быстрее.

1. Например, разместите на листе командную кнопку и добавьте следующие строки кода:

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

Когда вы нажимаете кнопку команды на листе, Excel VBA отображает каждое значение за крошечную долю секунды, и это может занять некоторое время.

2. Чтобы ускорить процесс, обновите код следующим образом.

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

В результате ваш код будет работать намного быстрее, и вы увидите только конечный результат (10000).

DisplayAlerts

Вы можете указать Excel VBA не отображать предупреждения во время выполнения кода.

1. Например, поместите командную кнопку на лист и добавьте следующую строку кода:

ActiveWorkbook.Close

Когда вы нажимаете кнопку команды на листе, 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

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

wave wave wave wave wave