Обект на приложение VBA на Excel - Лесни макроси на Excel

Съдържание

Работен лист Функция | Актуализиране на екрана | 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 As Integer
За i = 1 до 10000
Диапазон ("A1"). Стойност = i
Следва i

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

2. За да ускорите процеса, актуализирайте кода, както следва.

Dim i As Integer
Application.ScreenUpdating = False
За i = 1 до 10000
Диапазон ("A1"). Стойност = i
Следва i
Application.ScreenUpdating = Вярно

В резултат на това вашият код ще работи много по -бързо и ще видите само крайния резултат (10000).

DisplayAlerts

Можете да инструктирате Excel VBA да не показва предупреждения, докато изпълнява кода.

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

ActiveWorkbook.Close

Когато щракнете върху командния бутон на работния лист, Excel VBA затваря вашия Excel файл и ви моли да запазите направените от вас промени.

2. За да инструктирате Excel VBA да не показва този сигнал при изпълнение на код, актуализирайте кода, както следва.

Application.DisplayAlerts = False
ActiveWorkbook.Close
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