Tijekom vaših VBA postupaka imat ćete potrebu pokretati makronaredbe kad se promijeni određeni raspon ili ćelija. U tom slučaju, za pokretanje makronaredbi kada se izvrši promjena u ciljnom rasponu, koristimo događaj change. Događaji u VBA -i omogućuju nam pokretanje makronaredbi kada se dogodi određeni događaj.
Sintaksa Događaj promjene raspona VBA
Privatni pod -radni list_Promjena (ByVal cilj kao raspon) ako se ne presijeca (cilj, raspon ("vaš_druga")) nije ništa Zatim nazovite your_macro Kraj ako završi pod
Događaj ne radi u modulima. Morate ih zapisati u objekte (radni list, grafikone, radnu knjigu).
Latini imaju primjer kako naučiti pokrenuti makronaredbu kada se izvrši promjena u navedenom rasponu.
Primjer: Pokrenite VBA makronaredbu kada se izvrši promjena u rasponu A2: A100
Prvo biramo list na kojem će se događaj dogoditi. Dvaput kliknite na taj list u VBA uređivaču i kopirajte donji kod ili generički kod iznad te unesite promjene prema svojim zahtjevima.
U ovom primjeru želim pokrenuti makro/VBA kôd kada se izvrši promjena u rasponu A2: A100 na listu 2. Da bih to učinio, dvaput kliknem na list2 u istraživaču projekata. Otvara stranicu za kodiranje tog lista. Možete desnom tipkom miša kliknuti list i kliknuti kôd prikaza da biste učinili isto.
Moram upotrijebiti događaj promjene. Za to koristimo zadanu podrutinu Worksheet_Change (ByVal Target As Range). Pokreće se kada se izvrši određena promjena. Dakle, naš kôd je sljedeći:
Privatni pod -radni list_Promijeni (ByVal cilj kao raspon) ako se ne presijeca (cilj, raspon ("A2: A100")) nije ništa Tada pozovite TestEvent End If End Sub
Kad napravite promjene u rasponu A2: A100 na Sheet2, podprogram TestEvent će se pozvati, kao što možete vidjeti na gornjoj slici GIF.
TestEvent je javna potprogram u modulu 2. Jednostavno se pojavi poruka da događaj radi.
Sub TestEvent () MsgBox "Događaj radi!" Kraj podm
Kako radi?
Postavili smo uvjet:
Ako se ne presijeca (cilj, domet ("A2: A100")) nije ništa
Ovdje se Intersect (Target, Range ("A2: A100")) Is Nothing vraća True ako se ne promijeni raspon A2: A100. Prije ove naredbe stavljamo operator Not koji obrće izlaz koji daje "Intersect (Target, Range (" A2: A100 "))" ". Stoga, ako se ne izvrši promjena u rasponu A2: A100, izraz vraća Falls i podTestEvent ne prima poziv. Ako promijenite bilo koju ćeliju u rasponu A2: A100, izraz će vratiti True i dogodit će se događaj. I to se ovdje događa.
Bilješka: U ovaj blok možete staviti bilo koju potprogram. Može biti iz bilo kojeg modula. Ali to bi trebala biti javna potprogram. Raspon možete postaviti u bilo kojoj mjeri. Granica je cijeli list.
Pa da, dečki, ovako možete pozvati potprogram ili pokrenuti makro/VBA kôd kada se izvrši promjena u navedenom rasponu. Bio je to osnovni primjer događaja. Ovaj će se događaj pokrenuti samo kada je promjena temeljena na tekstu. Pod tekstovnim, mislim ako događaj napišete u ćelije ili izbrišete, događaj će se pokrenuti. Ako promijenite oblikovanje ćelija, neće se pokrenuti. Postoje i druge metode za to.
Nadam se da je bilo od pomoći. Ako imate bilo kakvih upita vezanih za ovu temu VBA ili bilo koju drugu temu vezanu uz Excel, javite mi odjeljak komentara u nastavku. I pogledajte naše ostale povezane i popularne postove navedene u nastavku.
Pokreni makronaredbu kad se na listu unese bilo kakva promjena| Dakle, za pokretanje vašeg makronaredbe kad god se list ažurira, koristimo VBA događaje na radnom listu.
Najjednostavniji VBA kôd za označavanje trenutnog retka i stupca pomoću| Pomoću ovog malog isječka VBA označite trenutačni redak i stupac lista.
Događaji na radnom listu u Excelu VBA| Događaj radnog lista zaista je koristan kada želite da se vaše makronaredbe izvode kada se na listu pojavi određeni događaj.
Popularni članci:
50 Excel prečaca za povećanje vaše produktivnosti | Budite brži u izvršavanju svojih zadataka. Ovih 50 prečaca učinit će da radite još brže na Excelu.
Funkcija VLOOKUP u Excelu | Ovo je jedna od najčešće korištenih i popularnih funkcija programa Excel koja se koristi za traženje vrijednosti iz različitih raspona i listova.
COUNTIF u Excelu 2016 | Brojte vrijednosti s uvjetima pomoću ove nevjerojatne funkcije. Ne morate filtrirati svoje podatke da biste računali određenu vrijednost. Funkcija Countif bitna je za pripremu vaše nadzorne ploče.
Kako koristiti funkciju SUMIF u Excelu | Ovo je još jedna bitna funkcija nadzorne ploče. To vam pomaže pri zbrajanju vrijednosti u posebnim uvjetima.