Evenimente în Excel

Termenul "eveniment Excel» este folosit pentru a indica anumite acțiuni efectuate de utilizator în Excel. De exemplu, atunci când un utilizator schimbă o foaie de registru de lucru, acesta este un eveniment. Introducerea datelor într-o celulă sau salvarea unui registru de lucru sunt, de asemenea, evenimente Excel.

Evenimentele pot fi legate la o foaie de lucru Excel, la diagrame, un registru de lucru sau direct la aplicația Excel în sine. Programatorii pot crea cod VBA care va fi executat automat atunci când are loc un eveniment.

De exemplu, pentru a rula o macrocomandă de fiecare dată când utilizatorul schimbă o foaie de lucru într-un registru de lucru Excel, ați crea cod VBA care va rula de fiecare dată când are loc evenimentul SheetActivate registrul de lucru.

Și dacă doriți ca macrocomandă să ruleze de fiecare dată când accesați o anumită foaie de lucru (de exemplu, Sheet1), atunci codul VBA trebuie asociat cu evenimentul Activati pentru această foaie.

Codul VBA destinat să gestioneze evenimentele Excel trebuie plasat în foaia de lucru sau obiectul registrului de lucru corespunzător în fereastra editorului VBA (editorul poate fi deschis făcând clic pe Alt + F11). De exemplu, codul care ar trebui să fie executat de fiecare dată când are loc un anumit eveniment la nivelul foii de lucru ar trebui plasat în fereastra de cod pentru acea foaie de lucru. Acest lucru este prezentat în figură:

În editorul Visual Basic, puteți vizualiza setul de toate evenimentele Excel disponibile la nivel de registru de lucru, foaie de lucru sau diagramă. Deschideți fereastra de cod pentru obiectul selectat și selectați tipul de obiect din meniul derulant din stânga din partea de sus a ferestrei. Meniul derulant din dreapta din partea de sus a ferestrei va afișa evenimentele definite pentru acest obiect. Figura de mai jos arată o listă de evenimente asociate cu o foaie de lucru Excel:

Evenimente în Excel

Faceți clic pe evenimentul dorit din meniul derulant din dreapta și o procedură va fi inserată automat în fereastra de cod pentru acest obiect Sub. în fruntea procedurii Sub Excel inserează automat argumentele necesare (dacă există). Tot ce rămâne este să adăugați codul VBA pentru a determina ce acțiuni ar trebui să efectueze procedura atunci când este detectat evenimentul dorit.

Exemplu

În exemplul următor, de fiecare dată când este selectată o celulă B1 pe foaia de lucru Sheet1 apare o casetă de mesaj.

Pentru a efectua această acțiune, trebuie să folosim evenimentul foaie de lucru Selection_Change, care apare de fiecare dată când selecția unei celule sau a unui interval de celule se modifică. Funcţie Selection_Change primește ca argument Ţintă obiect -. Acesta este modul în care știm ce interval de celule a fost selectat.

eveniment Selection_Change apare cu orice selecție nouă. Dar avem nevoie ca setul de acțiuni să fie executat doar atunci când celula este selectată B1. Pentru a face acest lucru, vom urmări evenimentul numai în intervalul specificat Ţintă. Cum este implementat în codul programului prezentat mai jos:

„Cod pentru afișarea unei casete de mesaj atunci când celula B1 este selectată” în foaia de lucru curentă. Private Sub Worksheet_SelectionChange(ByVal Target As Range) „Verificați dacă celula B1 este selectată Dacă Target.Count = 1 și Target.Row = 1 And Target.Column = 2 Apoi „Dacă este selectată celula B1, atunci faceți următoarea MsgBox „Aveți selectat o celulă B1" End If End Sub

Lasă un comentariu