Мать всех объектов сама Excel. Мы называем это объект Application. Объект приложения предоставляет доступ к большому количеству связанных опций Excel.

WorksheetFunction

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

  1. Например, поместите ссылку: / VBA-Create-A-макро # командной кнопки [Кнопка управления] на листе и добавьте следующую строку кода:

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

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

WorksheetFunction in Excel VBA

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

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

ScreenUpdating

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

  1. Например, поместите ссылку: / VBA-Create-A-макро # командной кнопки [Кнопка управления] на листе и добавьте следующие строки кода:

Dim i As Integer

For i = 1 To 10000

Range("A1").Value = i

Next i

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

ScreenUpdating

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

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. Например, поместите ссылку: / VBA-Create-A-макро # командной кнопки [Кнопка управления] на листе и добавьте следующую строку кода:

ActiveWorkbook.Close

При нажатии на кнопку управления на рабочем листе, Excel VBA закрывает файл Excel и просит вас, чтобы сохранить сделанные изменения.

DisplayAlerts

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

Application.DisplayAlerts = False

ActiveWorkbook.Close

Application.DisplayAlerts = True

В результате, Excel VBA закрывает файл Excel, не спрашивая вас, чтобы сохранить сделанные изменения. Любые изменения будут потеряны.

Расчет

По умолчанию расчет устанавливается автоматически. В результате, Excel автоматически пересчитывает книгу каждый раз, когда значение влияет на формулу изменения. Если рабочая книга содержит много сложных формул, вы можете ускорить ваш макрос, установив расчет ручной режим.

  1. Например, поместите ссылку: / VBA-Create-A-макро # командной кнопки [Кнопка управления] на листе и добавьте следующую строку кода:

Application.Calculation = xlCalculationManual

При нажатии на кнопку управления на листе Excel VBA устанавливает расчет ручной режим.

  1. Вы можете проверить это, нажав на файл, параметры, формулы.

Calculation Options

  1. Теперь, когда вы измените значение ячейки A1, значение ячейки B1 не пересчитывается.

Manual Calculation

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

  1. В большинстве случаев, вы будете установить расчет на автоматический снова в конце кода. Просто добавьте следующую строку кода для достижения этой цели.

Application.Calculation = xlCalculationAutomatic