Suorita makro, jos taulukkoon tehdään muutoksia määritetyllä alueella

Sisällysluettelo:

Anonim

Koko VBA -käytäntösi aikana sinun on suoritettava makroja tietyn alueen tai solun muuttuessa. Siinä tapauksessa käytämme muutostapahtumaa suorittaaksemme makroja, kun kohdealueelle tehdään muutos. VBA: n tapahtumien avulla voimme suorittaa makroja tietyn tapahtuman sattuessa.

Syntaksi VBA -alueen vaihtotapahtuma

Yksityinen alityökirjan_muutos (ByVal -tavoite alueena) Jos ei leikkaa (kohde, alue ("oma_alue")) ei ole mitään, soita sitten_makro Lopeta, jos loppuosa

Tapahtuma ei toimi moduuleissa. Ne on kirjoitettava objekteihin (laskentataulukko, kaaviot, työkirja).

Latilla on esimerkki makron suorittamisesta, kun muutos tehdään tietyllä alueella.

Esimerkki: Suorita VBA -makro, kun muutos tehdään alueella A2: A100

Ensinnäkin valitsemme taulukon, jolle tapahtuma tapahtuu. Kaksoisnapsauta kyseistä taulukkoa VBA -editorissa ja kopioi alla oleva koodi tai yleinen koodi yllä ja tee muutokset vaatimuksesi mukaan.

Tässä esimerkissä haluan suorittaa makro-/VBA -koodin, kun muutos tehdään taulukon 2 alueella A2: A100. Tätä varten kaksoisnapsautan projektinhallinnan taulukkoa 2. Se avaa koodaussivun kyseiselle arkille. Voit tehdä saman napsauttamalla taulukkoa hiiren kakkospainikkeella ja napsauttamalla näkymäkoodia.

Minun on käytettävä muutostapahtumaa. Tätä varten käytämme oletusaliohjelmaa Worksheet_Change (ByVal Target As Range). Se käynnistyy, kun tietty muutos tehdään. Joten koodimme on tämä:

Yksityinen alityökirjan_muutos (ByVal -kohde alueena), jos se ei leikkaa (kohde, alue ("A2: A100")) ei ole mitään sitten Soita testi Tapahtuma loppu jos loppu 

Kun teet muutoksia taulukon 2 alueisiin A2: A100, aliohjelma TestEvent kutsutaan, kuten yllä olevasta gifistä näkyy.

TestEvent on moduulin 2 julkinen aliohjelma. Tulee vain viesti, että tapahtuma toimii.

Sub TestEvent () MsgBox "Tapahtuma toimii!" End Sub 

Kuinka se toimii?

Olemme asettaneet ehdon:

Jos ei leikkaa (kohde, alue ("A2: A100")) ei ole mitään sitten

Tässä Leikkaa (Kohde, Alue ("A2: A100")) Is Nothing palauttaa True, jos alueeseen A2: A100 ei tehdä muutoksia. Laitoimme Not -operaattorin tämän lausunnon eteen, joka kääntää "Intersect (Target, Range (" A2: A100 "))" antaman tuloksen. Näin ollen, jos mitään muutoksia ei tehdä alueelle A2: A100, lauseke palauttaa kaatumiset ja alitesti Tapahtuma ei saa puhelua. Jos teet muutoksia mihin tahansa soluun alueella A2: A100, lauseke palauttaa arvon True ja tapahtuma tapahtuu. Ja niin täällä tapahtuu.

Huomautus: Voit laittaa minkä tahansa aliohjelman tähän lohkoon. Se voi olla mistä tahansa moduulista. Mutta sen pitäisi olla julkinen aliohjelma. Voit asettaa alueen mihin tahansa. Koko arkki on rajana.

Joten kyllä ​​kaverit, näin voit kutsua aliohjelman tai suorittaa makro-/VBA -koodin, kun muutos tehdään tietyllä alueella. Se oli esimerkki tapahtumasta. Tämä tapahtuma käynnistyy vain, kun muutos on tekstipohjainen. Tekstipohjaisella tarkoitan, jos kirjoitat jotain soluihin tai poistat, tapahtuma käynnistyy. Jos muutat solujen muotoilua, se ei käynnisty. Tähän on muitakin menetelmiä.

Toivottavasti siitä oli apua. Jos sinulla on kysyttävää tähän VBA -aiheeseen tai muuhun excel -aiheeseen, kerro minulle alla olevasta kommenttiosasta. Ja tutustu muihin alla mainittuihin aiheeseen liittyviin ja suosittuihin viesteihimme.

Suorita makro, kun taulukkoon tehdään muutoksia| Joten makron suorittamiseen aina, kun taulukko päivittyy, käytämme VBA: n laskentataulukkotapahtumia.

Yksinkertaisin VBA -koodi nykyisen rivin ja sarakkeen korostamiseen| Käytä tätä pientä VBA -katkelmaa korostamaan taulukon nykyinen rivi ja sarake.

Laskentataulukon tapahtumat Excel VBA: ssa| Laskentataulukkotapahtuma on todella hyödyllinen, kun haluat makrojesi suoritettavan, kun taulukossa tapahtuu tietty tapahtuma.

Suosittuja artikkeleita:

50 Excel -pikanäppäintä tuottavuuden lisäämiseksi | Nopeuta tehtävääsi. Nämä 50 pikanäppäintä tekevät työskentelystäsi entistä nopeampaa Excelissä.

VLOOKUP -toiminto Excelissä | Tämä on yksi eniten käytetyistä ja suosituimmista Excel -toiminnoista, jota käytetään arvon etsimiseen eri alueilta ja arkeilta.

COUNTIF Excel 2016: ssa | Laske arvot olosuhteilla käyttämällä tätä hämmästyttävää toimintoa. Sinun ei tarvitse suodattaa tietojasi tietyn arvon laskemiseksi. Laskutoiminto on välttämätön kojelaudan valmistelemiseksi.

SUMIF -toiminnon käyttäminen Excelissä | Tämä on toinen kojelaudan olennainen toiminto. Tämä auttaa sinua laskemaan yhteen arvot tietyissä olosuhteissa.