Arkusz aktywacji VBA

Arkusz aktywacyjny Excel VBA

Podczas pracy w VBA czasami odwołujemy się do innego arkusza lub używamy właściwości innego arkusza, przypuśćmy, że pracujemy w arkuszu 1, ale chcemy wartości z komórki A2 w arkuszu 2, jeśli odwołujemy się do wartości arkusza 2 bez uprzedniej aktywacji arkusza, będziemy nie możemy uzyskać dostępu do wartości, więc aby aktywować arkusz w VBA, używamy właściwości arkusza roboczego jako Arkusze robocze („Arkusz2”).

W programie Excel zawsze pracujemy z arkuszami roboczymi. Arkusze mają własną nazwę, która ułatwia identyfikację. W zwykłych arkuszach kalkulacyjnych przechodzimy bezpośrednio przez dokładne klawisze skrótów lub bezpośrednio wybieramy arkusz, klikając je. Jednak w VBA nie jest to takie proste, musimy określić nazwę arkusza, do którego się odnosimy, wtedy możemy użyć metody „Wybierz”, aby wybrać arkusz.

Co to jest metoda aktywacji VBA?

Jak sama nazwa wskazuje, aktywuje określony arkusz. Aby aktywować arkusz, musimy podać dokładną nazwę arkusza za pomocą obiektu arkuszy roboczych. Na przykład, jeśli chcesz aktywować arkusz o nazwie „Sprzedaż”, możesz użyć poniższego kodu.

Arkusze robocze („Sprzedaż”). Aktywuj

Składnia

Tak więc składnia metody Activate jest następująca.

Arkusz roboczy („Nazwa arkusza”) Aktywuj

Tutaj arkusz roboczy jest obiektem i aktywuje jest metodą.

Możesz pobrać ten szablon VBA Activate Sheet Excel tutaj - VBA Activate Sheet Excel Template

Przykład 1 - Aktywuj arkusz według numeru indeksu

W programie Excel pracujemy z wieloma zestawami arkuszy i często musimy przechodzić między arkuszami, aby wykonać zadanie. W VBA możemy użyć metody Activate, aby aktywować określony arkusz Excela.

Na przykład utworzyłem trzy arkusze o nazwach „Sprzedaż 2015”, „Sprzedaż 2016” i „Sprzedaż 2017”.

Arkusze możemy aktywować na dwa sposoby. Jednym z nich jest użycie numerów indeksu arkuszy, a innym użycie samej nazwy arkusza.

Teraz, jeśli chcę wybrać drugi arkusz, użyję obiektu Arkusz i podam numer indeksu arkusza jako 2.

Kod:

 Sub Activate_Example1 () Worksheets (2) .Aktywuj End Sub 

Uruchomienie kodu klawiszem F5 lub ręczne uruchomienie spowoduje aktywację drugiego arkusza, czyli „Sales 2016”.

Jeśli chcę aktywować trzeci arkusz, użyję 3 jako numeru indeksu arkusza.

Kod:

 Sub Activate_Example1 () Worksheets (3) .Aktywuj End Sub 

Spowoduje to aktywację trzeciego arkusza, tj. „Sprzedaż 2017”.

Teraz zamienię drugi i trzeci arkusz.

Technicznie rzecz biorąc, „Sprzedaż 2017” to mój trzeci arkusz, a „Sprzedaż 2016 to mój drugi arkusz. Teraz użyję numeru indeksu arkusza jako 3 i zobaczę, co się stanie.

Kod:

 Sub Activate_Example1 () Worksheets (3) .Aktywuj End Sub 

Z mojego punktu widzenia musi wybrać arkusz „Sprzedaż 2017”, ale wybierze arkusz „Sprzedaż 2016”, ponieważ w zamówieniu „Sprzedaż 2016” jest trzecim arkuszem.

Dlatego zawsze bezpieczną opcją jest aktywowanie arkusza według jego nazwy.

Przykład # 2 - Aktywuj arkusz według jego nazwy

Teraz zobaczymy, jak aktywować arkusze według jego nazwy. W miejscu numeru indeksu arkusza należy podać nazwę arkusza w cudzysłowie.

Kod:

 Sub Activate_Example2 () Arkusze robocze („Sales 2016”). Aktywuj End Sub 

Po ręcznym uruchomieniu kodu lub za pomocą klawisza skrótu F5 aktywowałoby to arkusz „Sprzedaż 2016” niezależnie od pozycji w skoroszycie.

Nie tylko obiekt Arkusze robocze, ale także obiekt „Arkusze”, możemy aktywować arkusz.

Poniżej znajduje się kod.

Kod:

 Sub Activate_Example2 () Sheets („Sales 2016”). Activate End Sub 

Arkusze robocze mają dostęp tylko do obiektu Worksheets i nie mają dostępu do arkuszy „Chart”. Jeśli używasz obiektu Arkusze, mamy dostęp do wszystkich arkuszy w skoroszycie.

Przykład 3 - Aktywuj arkusz z innego skoroszytu

Tak jak musimy wspomnieć nazwę arkusza, aby aktywować dany arkusz, podobnie w przypadku aktywacji arkusza z innego skoroszytu wymaga również nazwy „Skoroszyt”.

Kod:

 Sub Activate_Example3 () Skoroszyty („Sales File.xlsx”). Arkusze („Sales 2016”). Aktywuj End Sub 

Spowoduje to aktywację arkusza „Sales 2016” ze skoroszytu „Sales File.xlsx”.

Aktywuj metodę arkusza a wybierz metodę arkusza

Możemy użyć metod do wykonania tej samej akcji, czyli metod Aktywuj i Wybierz. Istnieje niewielka różnica między tymi dwiema metodami.

# 1 - Aktywuj metodę

Używając metody Activate, możemy aktywować tylko określony arkusz.

Na przykład spójrz na poniższy kod.

Kod:

 Sub Activate_Example () Worksheets („Sales 2016”). Activate End Sub 

Jak wiemy, ten kod wybierze arkusz roboczy „Sprzedaż 2016”.

# 2 - Wybierz metodę

Używając metody Select, możemy w rzeczywistości wykonywać również inne zadania.

Teraz spójrz na poniższy kod.

Kod:

Ten kod nie tylko aktywuje arkusz „Sales 2016”, ale także wybiera zakres komórek od A1 do A10.