Ez a cikk a VBA ActiveSheet objektumát tárgyalja. Azt is tárgyalja, hogyan lehet aktiválni, kiválasztani és megnyitni a munkalapokat (és még sok más). Olvassa el teljes VBA -munkalap -útmutatónkat, ha további információra van szüksége a VBA -munkalapokkal való munkáról.
ActiveSheet
A VBA -ban az ActiveSheet az éppen aktív munkalapra utal. Egyszerre csak egy munkalap lehet aktív.
Munkalap aktiválása (az ActiveSheet beállítása)
Az ActiveSheet beállításához használja a Munkalapot. Aktiválja:
1 | Munkalapok ("Bemenet"). Aktiválás |
Az Activate Sheet parancs valójában „elmegy” a lapra, megváltoztatva a látható munkalapot.
A fenti példa a Lap (Tab) nevet használja. Ehelyett használhatja a VBA kódnevet a munkalaphoz:
1 | 1. lap. Aktiválás |
ActiveSheet neve
Az ActiveSheet név beszerzése:
1 | msgbox ActiveSheet.name |
Kiválasztott lapok és ActiveSheet
Bármikor csak egy lap lehet az ActiveSheet. Ugyanakkor egyszerre több munkalap is kiválasztható.
Ha több munkalap van kiválasztva, csak a "legfelső" munkalap tekinthető aktívnak (az ActiveSheet).
Válassza a Munkalap lehetőséget
Ha egy munkalapot szeretne aktiválás helyett kiválasztani. Használja a .Választ lehetőséget.
Válassza ki a Munkalapot a Név lap alapján
Ez kiválaszt egy munkalapot a Tábla lap neve alapján
1 | Táblázatok ("Bemenet"). Válassza ki |
Válassza ki a munkalapot az indexszám alapján
Ez a munkalapot a többi laphoz viszonyított helyzete alapján választja ki
1 | Munkalapok (1). Válassza ki |
Válassza ki a VBA kódnevű munkalapot
1 | 1. lap. Válassza ki |
Ha a munkalapokat kódnév alapján választja ki, akkor megelőzheti a munkalapnév -változások okozta hibákat.
Válassza az Aktuális munkalap lehetőséget
Az aktuális munkalap kiválasztásához használja az ActiveSheet objektumot:
1 | ActiveSheet. Válassza ki |
Továbbiak Példák aktiválása / kiválasztása
Állítsa az ActiveSheet -et Változó értékre
Ez hozzárendeli az ActiveSheet -et egy munkalap -objektum -változóhoz.
123 | Dim ws munkalapkéntÁllítsa be ws = ActiveSheet |
Módosítsa az ActiveSheet nevet
Ez megváltoztatja az ActiveSheet nevét.
1 | ActiveSheet.Name = "Újnév" |
ActiveSheet segítségével
A With Statement használata lehetővé teszi a kód egyszerűsítését objektumok (például Táblázatok vagy ActiveSheet) használatakor.
12345 | ActiveSheet segítségével.Name = "StartFresh".Sejtek.Tiszta.Range ("A1"). Érték = .NameVége ezzel |
Figyelje meg, hogy nem kell megismételnie az „ActiveSheet” -et minden kódsor előtt. Ez óriási időmegtakarítást jelenthet, ha hosszú parancslistával dolgozik.
Tekintse át a kiválasztott lapokat
A következő makró végigmegy az összes kiválasztott munkalapon, és megjeleníti a nevüket.
12345678 | GetSelectedSheetsName () alrészDim ws munkalapkéntMinden ws -hez az ActiveWindow.SelectedSheets -benMsgBox ws.NameKövetkező wsEnd Sub |
GoTo Next Sheet
Ez a kód a következő munkalapra kerül. Ha az ActiveSheet az utolsó munkalap, akkor a munkafüzet első lapjára kerül.
12345 | Ha ActiveSheet.Index = Munkalapok.SzámMunkalapok (1). AktiválásMásActiveSheet.Next.ActivateVége Ha |