Om du är här vill du antagligen lära dig hur du kör en underrutin varje gång en ändring görs i ett visst blad. Denna artikel kommer att lära ut exakt det. Så låt oss komma igång.
Syntaxen för arbetshändelshändelsehanteraren är:
Private Sub worksheet_change (ByVal Target As Range) 'din kod' 'Slut Sub
Denna kod måste skrivas i ett kalkylbladobjekt för att fungera, inte i en normal modul.
Private Sub worksheet_change (ByVal Target As Range) Msgbox "Du har uppdaterat något i detta blad" Avsluta Sub
Om du har den här koden på blad1 och du skriver eller tar bort något i bladet1, massagen dyker upp att "Du uppdaterade något i det här bladet".
Det fungerar inte i vanliga moduler. Men du kan ringa subrutiner från valfri modul. Vi kommer att göra detsamma i denna session.
Scenario:
Kör Excel -makro om någon ändring görs på kalkylbladet
Så, låt oss säga att vi har ett makro som ändrar cellens färg baserat på något tillstånd. Precis som villkorlig formatering av Excel. Den enda skillnaden är att cellens färg ändras när vi kör den här VBA -koden med en knapp eller kör -kommando, inte när värdena ändras. Vi vill att makrot ska köras när en ändring görs i arket. Här hjälper VBA Events. För att göra detta kommer vi att använda kalkylbladshändelsehändelse.
Följ dessa steg:
- Gå till projektutforskaren och dubbelklicka på det blad som du vill utlösa händelsen för arbetsbladet. Jag vill utlösa händelsen när några ändringar gjordes på Sheet2, så jag dubbelklickar på Sheet2. Du kan också högerklicka och klicka på visningskoden för att öppna kodskrivningsområdet för arkobjekt. I kodområdet skriver du den här kodraden.
Private Sub Worksheet_Change (ByVal Target As Range) End Sub
worksheet_change (Target as Range) är en bevarad subrutin som körs när en ändring görs på koden som innehåller arket.
När du skriver den här koden ser du att objektet ändras till kalkylbladet. Se rullgardinsmenyn längst upp till vänster. I listrutan uppe till höger är händelsen "ändra".
Om du använder rullgardinsmenyn och väljer kalkylbladet i den vänstra rullgardinsmenyn visas alla tillgängliga händelser i den högra rullgardinsmenyn. Vilken listruta du än väljer kommer koden för den händelsen att skrivas automatiskt. Du behöver bara fylla den med dina egna underrutiner. - Lägg bara in din kod i det här segmentet. Jag vill ringa min delprogram som finns i en modul. Så jag kallar den subrutinen helt enkelt i den här kalkylbladshändelsehanteraren. Min underprogram är FormatUsingVBA () i modul1
Private Sub worksheet_change (ByVal Target As Range) Call FormatUsingVBA End Sub
Nu, när vi kommer att göra en ändring i sheet2 kommer makrot FromatUsingVBA att köras.
Så ja killar, hur kan man köra ett VBA -skript när ett ark ändrar innehållet med hjälp av Arbetsblad Ändra händelsehanterare. Jag hoppas att det var till hjälp. Om du har några frågor angående denna händelsehanterare, ange det i kommentarfältet.
Enklaste VBA -kod för att markera aktuell rad och kolumn med| Använd det här lilla VBA -utdraget för att markera den aktuella raden och kolumnen i arket.
Arbetsbladshändelser i Excel VBA| Arbetsbladshändelsen är verkligen användbar när du vill att dina makron ska köras när en viss händelse inträffar på arket.
Kör makro om någon ändring görs på blad i specificerat intervall| Använd den här VBA -koden för att köra din makrokod när värdet i ett visst område ändras. Den upptäcker alla ändringar som gjorts i det angivna intervallet och avfyrar händelsen.
Populära artiklar:
50 Excel -genvägar för att öka din produktivitet | Bli snabbare på din uppgift. Dessa 50 genvägar får dig att arbeta ännu snabbare med Excel.
VLOOKUP -funktionen i Excel | Detta är en av de mest använda och populära Excel -funktionerna som används för att leta upp värde från olika intervall och ark.
COUNTIF i Excel 2016 | Räkna värden med förhållanden med denna fantastiska funktion. Du behöver inte filtrera dina data för att räkna specifikt värde. Countif -funktionen är avgörande för att förbereda din instrumentpanel.
Så här använder du SUMIF -funktionen i Excel | Detta är en annan viktig instrumentpanel. Detta hjälper dig att summera värden på specifika förhållanden.