Arkusze VBA - Jak korzystać z obiektu arkusza roboczego w VBA?

Arkusze kalkulacyjne Excel VBA

Program Excel jest skoroszytem i zawiera w nim arkusze lub arkusze. Bardzo ważne jest zrozumienie koncepcji Arkuszy roboczych w VBA, ponieważ cały czas pracujemy z arkuszami. W zwykłym pliku Excela nazywamy go arkuszami, ale w terminologii VBA nazywa się to „arkuszem roboczym”. Wszystkie zbiory arkusza roboczego nazywane są „Arkuszami pracy”.

W języku VBA arkusz roboczy jest obiektem. Istnieją dwa sposoby odwoływania się do arkusza, jeden za pomocą obiektu „Arkusz”, a drugi za pomocą obiektu „Arkusze”.

Wiem, że pytanie dotyczy różnicy między nimi. W programie Excel możemy zobaczyć dwa rodzaje arkuszy, jeden to zwykłe arkusze, a drugi to arkusze wykresów.

Karta arkusza roboczego w programie Excel uwzględnia tylko arkusze w skoroszycie, z wyjątkiem arkuszy wykresów. „Arkusze” uwzględniają wszystkie arkusze w skoroszycie, w tym arkusz wykresu. Na przykład spójrz na poniższy obrazek.

W powyższym mamy łącznie 5 arkuszy. Z tych 5 arkuszy 3 to arkusze robocze, a 2 to arkusze wykresów.

Tutaj „Arkusz” liczba wynosi 3, a „Blacha” liczba to 2.

Teraz spójrz na poniższy obrazek.

Tutaj wszystkie arkusze są arkuszami roboczymi, więc liczba zarówno „Arkusza roboczego”, jak i „Arkuszy” wynosi 3.

Tak więc, jako część kodu, jeśli chcesz używać arkuszy roboczych, obiekty zapamiętują ten punkt.

Składnia arkuszy roboczych VBA

Jak powiedziałem, arkusz roboczy jest zmienną obiektową. Jednak ma to również składnię.

Indeks nie jest niczym, co jest numerem arkusza, do którego się odnosimy. Jak widać na końcu, jest to określane jako Object.

Na przykład Arkusz (1). Wybierz oznacza, aby zaznaczyć pierwszy arkusz w skoroszycie. Nie ma znaczenia, jaka jest nazwa arkusza; niezależnie od tego, jaki arkusz zostanie wstawiony jako pierwszy do skoroszytu, zostanie wybrany.

Możemy również odnosić się do arkusza przez jego nazwę. Musimy wspomnieć o całości, ponieważ jest to nazwa arkusza w podwójnych cudzysłowach.

Na przykład Arkusz roboczy („Arkusz sprzedaży”). Wybierz oznacza wybranie arkusza o nazwie „Arkusz sprzedaży”. Tutaj nie ma znaczenia, jaki jest numer arkusza roboczego, który zawsze wybiera określony arkusz.

Jak korzystać z obiektu Worksheets w VBA?

Przykład 1

Załóżmy na przykład, że masz w skoroszycie łącznie 5 arkuszy, a nazwy tych arkuszy to „Arkusz 1”, „Arkusz 2”, „Arkusz 3”, „Arkusz wykresu 1” i „Arkusz wykresu 2”.

Jeśli używam numeracji do wybierania arkusza, mogę użyć numeru jako odniesienia do arkusza.

Arkusz roboczy (2). Wybierz oznacza, że ​​wybierze drugi arkusz ze skoroszytu.

Kod:

Sub Worksheet_Example1 () Worksheets (2). Wybierz End Sub

Uruchomię ten kod za pomocą klawisza F5 lub ręcznie i zobaczę wynik.

Teraz zmienię numer arkusza na 3.

Kod:

Sub Worksheet_Example1 () Worksheets (3). Wybierz End Sub

Zobacz teraz, co się stanie, gdy uruchomisz kod ręcznie lub za pomocą kodu klawisza F5.

Jeśli spojrzeć na powyższy obrazek, to wybrali 4 th arkusz kiedy poprosiłem, aby wybrać 3 rd arkusz.

Dzieje się tak, ponieważ użyłem obiektu Arkusz, a nie obiektu Arkuszy. Jak powiedziałem wcześniej, obiekt „Arkusze robocze” uwzględnia tylko arkusze, a nie arkusze wykresów.

Aby zaznaczyć trzeci arkusz ze wszystkich arkuszy w skoroszycie, użyj obiektu Arkusze.

Kod:

Podarkusz_Example1 ()

Arkusze (3). Wybierz

Napis końcowy

Teraz wybierze dokładny trzeci arkusz.

Przykład nr 2 - Wybierz arkusze według nazwy

Wybieranie arkuszy według nazwy jest dokładnym sposobem odniesienia się do arkusza. Na przykład, jeśli chcemy wybrać arkusz „Arkusz 3”, możesz użyć poniższego kodu.

Kod:

Sub Worksheet_Example2 () Worksheets ("Worksheet 3"). Wybierz End Sub

Spowoduje to wybranie dokładnego arkusza; nie ma znaczenia, gdzie jest umieszczony w skoroszycie.

Ale jeśli spróbujesz uzyskać dostęp do arkusza wykresu za pomocą obiektu „Arkusze robocze”, zostanie wyświetlony komunikat „Błąd indeksu poza zakresem”.

Kod:

Sub Worksheet_Example2 () Worksheets ("Chart Sheet 1"). Wybierz End Sub

Uruchom ten kod za pomocą klawisza F5 lub ręcznie i zobacz wynik.

Przykład # 3 - Problem z nazwą arkusza

Jest jeszcze jeden problem z odwoływaniem się do arkuszy po nazwie. Jeśli ktoś zmieni nazwę arkusza, ponownie otrzymamy komunikat „Błąd indeksu poza zakresem”.

Aby rozwiązać ten problem, przejdź do edytora Visual Basic, naciskając klawisz ALT + F11 .

Teraz wybierz nazwę arkusza i naciśnij klawisz F4 , aby wyświetlić okno właściwości.

W tych właściwościach okno zmienia nazwę arkusza na Twoje imię.

Ciekawostką jest to, że chociaż zmieniliśmy nazwę arkusza roboczego z „Arkusz 1” na „WS1”, nadal widzimy tę samą nazwę w skoroszycie.

Teraz możemy odnieść się do tego arkusza przez nazwę „WS1”.

Kod:

Sub Worksheet_Example2 () Worksheets („WS1”). Wybierz End Sub

Teraz nie ma znaczenia, kto zmieni nazwę arkusza. Mimo to nasz kod odwołuje się do tego samego arkusza, o ile nie zmienia on w edytorze Visual Basic.

Przykład 4 - Zbierz liczbę wszystkich arkuszy w skoroszycie

Arkusz roboczy jest obiektem i możemy używać wszystkich właściwości i metod z nim związanych. Co robimy z arkuszami roboczymi?

Wstawiamy arkusze. Zmieniamy nazwy arkuszy. Usuwamy arkusze robocze i wiele innych rzeczy, które z nimi robimy.

Wpisz obiekt „Arkusze robocze” i umieść kropkę, aby zobaczyć wszystkie opcje z nimi.

Aby uzyskać liczbę arkuszy roboczych, używa właściwości VBA Count.

Kod:

Sub Worksheet_Example3 () Dim i As Long i = Worksheets.Count MsgBox i End Sub

Spowoduje to wyświetlenie liczby arkuszy roboczych.

Mimo że jest 5 arkuszy, otrzymaliśmy liczbę 3, ponieważ pozostałe 2 arkusze to wykresy.

Aby uzyskać całkowitą liczbę arkuszy, użyj obiektu „Arkusze”.

Kod:

Sub Worksheet_Example3 () Dim i As Long i = Sheets.Count MsgBox i End Sub

Spowoduje to wyświetlenie pełnej liczby arkuszy.

Przykład 5 - Metody wykorzystujące obiekt arkusza roboczego

Po wejściu do obiektu arkusza mamy dostęp do wszystkich właściwości i obiektów z nim związanych. Możemy dodać nowy arkusz. Możemy usunąć itp.

Aby dodać nowy arkusz.

Arkusz roboczy Dodaj

Aby usunąć arkusz roboczy

Arkusz roboczy („Nazwa arkusza”) Usuń

Aby zmienić nazwę arkusza

Arkusz roboczy („Nazwa arkusza”). Nazwa = „Nowa nazwa”

Interesujące artykuły...