Vykdykite makrokomandą, jei lape bus atlikti pakeitimai nurodytame diapazone

Turinys:

Anonim

Visoje VBA praktikoje jums reikės paleisti makrokomandas, kai pasikeičia tam tikras diapazonas ar langelis. Tokiu atveju, norėdami paleisti makrokomandas, kai keičiamas tikslinis diapazonas, naudojame pakeitimo įvykį. Įvykiai VBA leidžia paleisti makrokomandas, kai įvyksta tam tikras įvykis.

Sintaksės VBA diapazono keitimo įvykis

Privatus antrinis darbalapio keitimas („ByVal Target as Range“) Jei nesikerta (Tikslas, diapazonas („jūsų_diapazonas“)) nėra nieko, tada paskambinkite savo_makro pabaiga, jei pabaiga

Renginys neveikia moduliuose. Jūs turite juos įrašyti į objektus (darbalapis, diagramos, darbaknygė).

„Lat's“ turi pavyzdį, kaip išmokti paleisti makrokomandą, kai nustatyto diapazono pakeitimai atliekami.

Pavyzdys: paleiskite VBA makrokomandą, kai pakeitimas atliekamas diapazone A2: A100

Pirmiausia pasirenkame lapą, kuriame vyks įvykis. Dukart spustelėkite tą lapą VBA redaktoriuje ir nukopijuokite žemiau esantį kodą arba bendrąjį kodą aukščiau ir atlikite pakeitimus pagal savo reikalavimus.

Šiame pavyzdyje noriu paleisti makrokomandą/VBA kodą, kai 2 lape atliekamas pakeitimas diapazone A2: A100. Norėdami tai padaryti, aš du kartus spusteliu 2 lapą projekto naršyklėje. Tai atveria to lapo kodavimo puslapį. Norėdami tai padaryti, galite dešiniuoju pelės mygtuku spustelėti lapą ir spustelėti rodinio kodą.

Turiu naudoti pakeitimo įvykį. Tam naudojame numatytąją paprogramę „Worksheet_Change“ („ByVal Target As Range“). Jis suveikia, kai atliekamas konkretus pakeitimas. Taigi mūsų kodas yra toks:

Privatus antrinis darbalapio keitimas („ByVal Target as Range“), jei nesikerta (Tikslas, diapazonas („A2: A100“)) nėra nieko, tada skambinkite TestEvent End End End 

Kai atliksite bet kokius A2: A100 diapazono pakeitimus 2 lape, bus pakviesta paprogramė „TestEvent“, kaip matote aukščiau esančiame gif.

„TestEvent“ yra viešas 2 modulio paprogramis. Tiesiog pasirodo pranešimas, kad įvykis veikia.

„TestEvent“ () „MsgBox“ įvykis veikia! Pabaiga Sub 

Kaip tai veikia?

Mes nustatėme sąlygą:

Jei nesusikerta (taikinys, diapazonas („A2: A100“)), tada nieko nėra

Čia susikerta (Tikslas, diapazonas („A2: A100“)) „Is Nothing“ grąžina „True“, jei A2: A100 diapazonas nėra pakeistas. Prieš šį teiginį įdėjome „Not“ operatorių, kuris pakeičia „Intersect (Target, Range („ A2: A100 “)) pateiktą išvestį. Taigi, jei A2: A100 diapazone niekas nekeičiamas, išraiška grąžina kritimą, o antrinis „TestEvent“ skambučio nesulaukia. Jei pakeisite bet kurį A2: A100 diapazono langelį, išraiška grąžins „True“ ir įvykis įvyks. Ir štai kas čia vyksta.

Pastaba: Į šį bloką galite įtraukti bet kurią paprogramę. Tai gali būti iš bet kurio modulio. Bet tai turėtų būti vieša paprograma. Diapazoną galite nustatyti bet kokiu mastu. Visas lapas yra riba.

Taigi taip, vaikinai, taip galite paskambinti paprogramei arba paleisti makro/VBA kodą, kai pakeitimas atliekamas nurodytame diapazone. Tai buvo pagrindinis įvykio pavyzdys. Šis įvykis bus suaktyvintas tik tada, kai pakeitimas bus pagrįstas tekstu. Teksto pagrindu turiu omenyje, jei ką nors parašysite langeliuose arba ištrinsite, įvykis bus suaktyvintas. Jei pakeisite langelių formatą, jis nebus suaktyvintas. Tam yra ir kitų metodų.

Tikiuosi, kad tai buvo naudinga. Jei turite klausimų, susijusių su šia VBA tema ar bet kuria kita su „Excel“ susijusia tema, praneškite man žemiau esančiame komentarų skyriuje. Ir peržiūrėkite kitus mūsų susijusius ir populiarius įrašus, paminėtus žemiau.

Vykdyti makrokomandą, kai lape atliekami bet kokie pakeitimai| Taigi, norėdami paleisti makrokomandą, kai lapas atnaujinamas, naudojame VBA darbalapio įvykius.

Paprasčiausias VBA kodas, skirtas paryškinti dabartinę eilutę ir stulpelį| Naudokite šį mažą VBA fragmentą, kad paryškintumėte dabartinę lapo eilutę ir stulpelį.

Užduoties įvykiai „Excel VBA“| Skaičiuoklės įvykis yra tikrai naudingas, kai norite, kad jūsų makrokomandos būtų paleistos, kai lape įvyksta nurodytas įvykis.

Populiarūs straipsniai:

50 „Excel“ nuorodų, skirtų produktyvumui padidinti | Greičiau atlikite savo užduotį. Šie 50 sparčiųjų klavišų leis dar greičiau dirbti naudojant „Excel“.

„VLOOKUP“ funkcija „Excel“ | Tai yra viena iš dažniausiai naudojamų ir populiariausių „Excel“ funkcijų, naudojama norint ieškoti vertės iš įvairių diapazonų ir lapų.

COUNTIF „Excel 2016“ | Naudodami šią nuostabią funkciją, suskaičiuokite reikšmes su sąlygomis. Norint skaičiuoti konkrečią vertę, nereikia filtruoti duomenų. Skaitiklio funkcija yra būtina norint paruošti prietaisų skydelį.

Kaip naudoti „SUMIF“ funkciją „Excel“ | Tai dar viena esminė prietaisų skydelio funkcija. Tai padeda apibendrinti vertes konkrečiomis sąlygomis.