Viðburðir í Excel

Hugtakið "Excel viðburður» er notað til að gefa til kynna ákveðnar aðgerðir sem notandinn framkvæmir í Excel. Til dæmis, þegar notandi skiptir um vinnubókarblað er þetta atburður. Að slá inn gögn í reit eða vista vinnubók eru líka Excel-viðburðir.

Hægt er að tengja viðburði við Excel vinnublað, við töflur, vinnubók eða beint við Excel forritið sjálft. Forritarar geta búið til VBA kóða sem verður keyrður sjálfkrafa þegar atburður á sér stað.

Til dæmis, til að keyra fjölvi í hvert skipti sem notandinn skiptir um vinnublað í Excel vinnubók, myndir þú búa til VBA kóða sem mun keyra í hvert skipti sem atburðurinn á sér stað SheetActivate vinnubók.

Og ef þú vilt að fjölvi keyri í hvert skipti sem þú ferð á tiltekið vinnublað (td, Sheet1), þá verður VBA kóðann að vera tengdur viðburðinum Virkja fyrir þetta blað.

VBA kóðann sem ætlað er að meðhöndla Excel atburði verður að vera settur í viðeigandi vinnublað eða vinnubókarhlut í VBA ritstjóraglugganum (hægt er að opna ritilinn með því að smella á Alt + F11). Til dæmis ætti kóða sem ætti að keyra í hvert skipti sem ákveðinn atburður á sér stað á vinnublaðsstigi að vera settur í kóðagluggann fyrir það vinnublað. Þetta er sýnt á myndinni:

Í Visual Basic ritlinum geturðu skoðað safn allra Excel atburða sem eru tiltækar á vinnubók, vinnublaði eða töflustigi. Opnaðu kóðagluggann fyrir valinn hlut og veldu hluttegundina í fellivalmyndinni til vinstri efst í glugganum. Hægri fellivalmyndin efst í glugganum sýnir atburðina sem eru skilgreindir fyrir þennan hlut. Myndin hér að neðan sýnir lista yfir atburði sem tengjast Excel vinnublaði:

Viðburðir í Excel

Smelltu á viðkomandi atburð í hægri fellivalmyndinni og aðferð verður sjálfkrafa sett inn í kóðagluggann fyrir þennan hlut Sub. í höfuðið á málsmeðferðinni Sub Excel setur sjálfkrafa inn nauðsynleg rök (ef einhver eru). Allt sem er eftir er að bæta við VBA kóðanum til að ákvarða hvaða aðgerðir aðgerðin ætti að framkvæma þegar æskilegur atburður greinist.

Dæmi

Í eftirfarandi dæmi, í hvert skipti sem hólf er valið B1 á vinnublaðinu Sheet1 skilaboðakassi birtist.

Til að framkvæma þessa aðgerð þurfum við að nota vinnublaðsviðburðinn Val_Breyting, sem á sér stað í hvert sinn sem val á frumu eða frumusviði breytist. Virka Val_Breyting fær sem rök Markmál mótmæla -. Þannig vitum við hvaða frumusvið var valið.

atburður Val_Breyting á sér stað með hvaða nýju vali sem er. En við þurfum að framkvæma mengi aðgerða aðeins þegar reiturinn er valinn B1. Til að gera þetta munum við rekja atburðinn aðeins á tilgreindu sviði Markmál. Hvernig það er útfært í forritskóðanum sem sýndur er hér að neðan:

'Kóði til að birta skilaboðareit þegar reit B1 er valið' á núverandi vinnublaði. Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Athugaðu hvort reit B1 sé valið Ef Target.Count = 1 And Target.Row = 1 And Target.Column = 2 Síðan 'Ef reit B1 er valið, gerðu eftirfarandi MsgBox "Þú hefur valið reit B1" End If End Sub

Skildu eftir skilaboð