Искључите ажурирање екрана - примери кода ВБА

Колико год изгледало кул док гледате како ВБА макро манипулише екраном, можете помоћи свом макроу да ради брже ако искључите (онемогућите) ажурирање екрана.

Онемогућите ажурирање екрана

1. Да бисте онемогућили ажурирање екрана, на почетак кода ставите овај ред:

1 Апплицатион.СцреенУпдатинг = Нетачно

Омогући ажурирање екрана

2. Да бисте поново омогућили ажурирање екрана, на крају кода ставите овај ред:

1 Апплицатион.СцреенУпдатинг = Тачно

Пример ажурирања ВБА екрана

Ваш поступак ће тада изгледати овако:

1234567891011 Ажурирање под -екрана_пример ()Апплицатион.СцреенУпдатинг = Нетачно'Уради нештоОпсег ("а1"). Копирај опсег ("б1")Опсег ("а2"). Копирај опсег ("б2")Опсег ("а3"). Копирај опсег ("б3")Апплицатион.СцреенУпдатинг = ТачноЕнд Суб

Освежавање ажурирања екрана

Онемогућавање ажурирања екрана учиниће да ваш ВБА код ради МНОГО брже, али ће и ваш рад изгледати професионалније. Крајњи корисници обично не желе да виде закулисне радње ваших процедура (посебно када процедура тече споро). Такође, можда нећете желети да крајњи корисници виде функционалност иза сцене (нпр. Скривени радни листови). Препоручујем да онемогућите (и поново омогућите) ажурирање екрана у готово свим вашим процедурама.

Међутим, постоје случајеви када желите да се екран освежи. Да бисте освежили екран, мораћете привремено да укључите ажурирање екрана (нема команде за освежавање екрана):

123 Апплицатион.СцреенУпдатинг = Тачно'Уради нештоАпплицатион.СцреенУпдатинг = Нетачно

ВБА поставке - Код за убрзавање

Постоји још неколико поставки са којима можете играти како бисте побољшали брзину кода.

Онемогућавање аутоматских израчуна може направити огромну разлику у брзини:

1 Апплицатион.Цалцулатион = клМануал

Онемогућавање статусне траке такође ће направити малу разлику:

1 Апплицатион.ДисплаиСтатусБар = Нетачно

Ако ваша радна свеска садржи догађаје, обично бисте требали онемогућити догађаје на почетку поступка:

1 Апплицатион.ЕнаблеЕвентс = Нетачно

На крају, ваш ВБА код може се успорити када Екцел покуша поново израчунати преломе страница (Напомена: неће утицати на све процедуре). Да бисте онемогућили приказивање прелома страница, користите овај ред кода:

1 АцтивеСхеет.ДисплаиПагеБреакс = Нетачно

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave