Palaidiet makro, ja lapā tiek veiktas izmaiņas noteiktā diapazonā

Satura rādītājs:

Anonim

Visā VBA praksē jums būs jāpalaiž makro, kad mainās noteikts diapazons vai šūna. Tādā gadījumā, lai palaistu makro, kad tiek veiktas izmaiņas mērķa diapazonā, mēs izmantojam izmaiņu notikumu. Notikumi VBA ļauj mums palaist makro, kad notiek kāds notikums.

Sintakses VBA diapazona maiņas notikums

Privāta apakšdarblapa_maiņa (ByVal mērķis kā diapazons) Ja nesaskaras (mērķis, diapazons ("jūsu_diapazons")) nav nekas, tad izsauciet

Pasākums nedarbojas moduļos. Jums tie jāraksta objektos (darblapā, diagrammās, darbgrāmatā).

Latiem ir piemērs, lai uzzinātu, kā palaist makro, kad tiek veiktas izmaiņas noteiktā diapazonā.

Piemērs: palaidiet VBA makro, ja tiek veiktas izmaiņas diapazonā A2: A100

Pirmkārt, mēs izvēlamies lapu, uz kuras notiks notikums. Veiciet dubultklikšķi uz šīs lapas VBA redaktorā un nokopējiet zemāk esošo kodu vai vispārējo kodu un veiciet izmaiņas atbilstoši savām prasībām.

Šajā piemērā es vēlos palaist makro/VBA kodu, kad 2. lapā tiek veiktas izmaiņas diapazonā A2: A100. Lai to izdarītu, es veicu dubultklikšķi uz 2. lapas Project Explorer. Tas atver šīs lapas kodēšanas lapu. Lai to izdarītu, varat ar peles labo pogu noklikšķināt uz lapas un noklikšķināt uz skata koda.

Man jāizmanto izmaiņas notikums. Šim nolūkam mēs izmantojam noklusējuma apakšprogrammu Worksheet_Change (ByVal Target As Range). Tas aktivizējas, kad tiek veiktas noteiktas izmaiņas. Tātad mūsu kods ir šāds:

Privāta apakšdarblapa_maiņa (ByVal mērķis kā diapazons) Ja nešķērso (mērķis, diapazons ("A2: A100")) nav nekas, tad zvaniet TestEvent End If End Sub 

Veicot izmaiņas lapā A2: A100 diapazonā 2, tiks izsaukta apakšprogramma TestEvent, kā redzams iepriekš redzamajā gif.

TestEvent ir 2. moduļa publiskā apakšprogramma. Tas vienkārši parāda ziņojumu, ka pasākums darbojas.

Sub TestEvent () MsgBox "Notikums darbojas!" Beigt apakš 

Kā tas darbojas?

Mēs esam izvirzījuši nosacījumu:

Ja nav krustošanās (mērķis, diapazons ("A2: A100")), tad nekas nav

Šeit krustojas (Mērķis, Diapazons ("A2: A100")) Is Nothing atgriež True, ja diapazonā A2: A100 netiek veiktas nekādas izmaiņas. Pirms šī paziņojuma mēs ievietojām operatoru Not, kas apgriež apgriezto rezultātu, kas dots ar "Intersect (Target, Range (" A2: A100 "))". Tādējādi, ja diapazonā A2: A100 netiek veiktas izmaiņas, izteiksme atgriež Falls un apakšpārbaude TestEvent nesaņem zvanu. Ja veicat izmaiņas jebkurā šūnā diapazonā A2: A100, izteiksme atgriezīs True un notikums notiks. Un tas šeit notiek.

Piezīme: Šajā blokā varat ievietot jebkuru apakšprogrammu. Tas var būt no jebkura moduļa. Bet tai vajadzētu būt publiskai apakšprogrammai. Diapazonu var iestatīt jebkurā mērā. Visa lapa ir robeža.

Jā, puiši, šādā veidā jūs varat izsaukt apakšprogrammu vai palaist makro/VBA kodu, kad tiek veiktas izmaiņas noteiktā diapazonā. Tas bija pamata notikuma piemērs. Šis notikums tiks aktivizēts tikai tad, ja izmaiņas būs balstītas uz tekstu. Ar tekstu es domāju, ja jūs kaut ko ierakstāt šūnās vai izdzēšat, notikums tiks aktivizēts. Ja maināt šūnu formatējumu, tas netiks aktivizēts. Lai to izdarītu, ir arī citas metodes.

Es ceru, ka tas bija noderīgi. Ja jums ir kādi jautājumi saistībā ar šo VBA tēmu vai kādu citu ar Excel saistītu tēmu, dariet man zināmu zemāk esošo komentāru sadaļu. Un apskatiet mūsu citas saistītās un populārās ziņas, kas minētas zemāk.

Palaist makro, kad lapā tiek veiktas izmaiņas| Tātad, lai palaistu jūsu makro ikreiz, kad lapa tiek atjaunināta, mēs izmantojam VBA darblapas notikumus.

Vienkāršākais VBA kods, lai izceltu pašreizējo rindu un kolonnu, izmantojot| Izmantojiet šo mazo VBA fragmentu, lai iezīmētu lapas pašreizējo rindu un kolonnu.

Darblapas notikumi programmā Excel VBA| Darblapas notikums ir patiešām noderīgs, ja vēlaties, lai makro darbotos, kad lapā notiek noteikts notikums.

Populāri raksti:

50 Excel saīsnes, lai palielinātu produktivitāti | Ātrāk izpildiet savu uzdevumu. Šie 50 īsceļi ļaus jums strādāt vēl ātrāk programmā Excel.

Funkcija VLOOKUP programmā Excel | Šī ir viena no visbiežāk izmantotajām un populārākajām Excel funkcijām, kas tiek izmantota, lai meklētu vērtību no dažādiem diapazoniem un lapām.

COUNTIF programmā Excel 2016 | Saskaitiet vērtības ar nosacījumiem, izmantojot šo apbrīnojamo funkciju. Jums nav jāfiltrē dati, lai uzskaitītu konkrētu vērtību. Skaitītāja funkcija ir būtiska, lai sagatavotu informācijas paneli.

Kā lietot SUMIF funkciju programmā Excel | Šī ir vēl viena būtiska informācijas paneļa funkcija. Tas palīdz apkopot vērtības noteiktos apstākļos.