Kui olete siin, soovite tõenäoliselt õppida alamprogrammi käitama iga kord, kui konkreetsel lehel muudatusi tehakse. See artikkel õpetab täpselt seda. Nii et alustame.
Töölehe muutmise sündmuste käitleja süntaks on järgmine:
Privaatne alamlehe muutmine (ByVal Target As Range) 'teie kood'
See kood tuleb töötamiseks kirjutada töölehe objekti, mitte tavalisse moodulisse.
Privaatne alamlehe muutmine (ByVal Target As Range) Msgbox "Uuendasite sellel lehel midagi" Lõpeta alam
Kui teil on see kood lehel1 ja kirjutate või kustutate midagi lehele1, ilmub massaaž, et "Uuendasite midagi sellel lehel".
Tavalistes moodulites see ei tööta. Kuid alamprogramme saate helistada mis tahes moodulist. Teeme sama ka sellel istungil.
Stsenaarium:
Käivitage Exceli makro, kui töölehel tehakse muudatusi
Oletame, et meil on makro, mis muudab rakkude värvi mõne tingimuse alusel. Täpselt nagu Exceli tingimuslik vormindamine. Ainus erinevus on see, et lahtrite värv muutub, kui käivitame selle VBA koodi nupu või käivituskäsuga, mitte väärtuste muutumisel. Soovime, et makro käivitataks alati, kui lehel muudetakse. Siin aitavad VBA sündmused. Nüüd kasutame selleks töölehe muutmise sündmust.
Järgige neid samme.
- Minge projekti Explorerisse ja topeltklõpsake lehte, millel soovite töölehe.muutmine käivitada. Tahan käivitada sündmuse, kui lehel2 tehakse mõningaid muudatusi, seega topeltklõpsan lehte2. Leheobjektide koodi kirjutamisala avamiseks võite paremklõpsata ja klõpsata ka vaatekoodil. Koodialasse kirjutage see koodirida.
Privaatse alamlehe_muutmine (ByVal Target as Range) Lõpualam
worksheet_change (Target as Range) on säilitatud alamprogramm, mis käivitub, kui koodi sisaldaval lehel muudetakse.
Selle koodi kirjutamisel näete, et objekt muutub tööleheks. Vaadake vasakus ülanurgas olevat rippmenüüd. Paremas ülanurgas olevas rippmenüüs on sündmus "muutus".
Kui kasutate rippmenüüd ja valite vasakpoolsest rippmenüüst töölehe, kuvatakse paremal rippmenüüs kõik saadaolevad sündmused. Ükskõik, millise rippmenüü valite, kirjutatakse selle sündmuse kood automaatselt. Peate selle lihtsalt oma kohandatud alamprogrammidega täitma. - Nüüd lihtsalt pange oma kood sellesse segmenti. Tahan helistada oma alamprogrammile, mis on moodulis. Nii et ma lihtsalt nimetan seda alamprogrammi selles töölehe sündmuste käitlejas. Minu alamprogramm on moodulis 1 FormatUsingVBA ()
Privaatse alamlehe muutmine (ByVal Target kui vahemik) KõnevormingVVing End Sub
Nüüd, kui muudame lehte2, käivitatakse makro FromatUsingVBA.
Nii et jah, poisid, kuidas saab töölehe muutmise sündmuste käitleja abil käivitada VBA skripti, kui leht muudab sisu. Loodan, et sellest oli abi. Kui teil on selle sündmuste käitleja kohta küsimusi, mainige seda kommentaaride jaotises.
Lihtsaim VBA kood praeguse rea ja veeru esiletõstmiseks| Kasutage seda väikest VBA -katkendit lehe praeguse rea ja veeru esiletõstmiseks.
Töölehe sündmused Excel VBA -s| Töölehe sündmus on tõesti kasulik, kui soovite oma makrosid käivitada, kui lehel toimub määratud sündmus.
Käivitage makro, kui lehel tehakse kindlaksmääratud vahemikus muudatusi| Makrokoodi käitamiseks, kui määratud vahemiku väärtus muutub, kasutage seda VBA -koodi. See tuvastab kõik määratud vahemikus tehtud muudatused ja käivitab sündmuse.
Populaarsed artiklid:
50 Exceli otseteed tootlikkuse suurendamiseks | Saa oma ülesandega kiiremini hakkama. Need 50 otseteed aitavad teil Excelis veelgi kiiremini töötada.
Funktsioon VLOOKUP Excelis | See on üks enim kasutatud ja populaarsemaid Exceli funktsioone, mida kasutatakse erinevate vahemike ja lehtede väärtuse otsimiseks.
COUNTIF Excelis 2016 | Loendage väärtused tingimustega, kasutades seda hämmastavat funktsiooni. Te ei pea konkreetse väärtuse loendamiseks oma andmeid filtreerima. Countif funktsioon on armatuurlaua ettevalmistamisel hädavajalik.
Funktsiooni SUMIF kasutamine Excelis | See on veel üks armatuurlaua oluline funktsioon. See aitab teil teatud tingimustel väärtusi kokku võtta.