VBA ActiveSheet i jak aktywować lub wybrać arkusz

W tym artykule omówimy obiekt ActiveSheet w VBA. Omówi również, jak aktywować, wybierać i przechodzić do Arkuszy (i wiele więcej). Przeczytaj nasz pełny przewodnik po arkuszach roboczych VBA, aby uzyskać więcej informacji na temat pracy z arkuszami roboczymi w VBA.

Aktywny arkusz

W VBA ActiveSheet odnosi się do aktualnie aktywnego arkusza roboczego. W danym momencie aktywny może być tylko jeden Arkusz.

Aktywuj Arkusz (Ustawianie ActiveSheet)

Aby ustawić ActiveSheet użyj Worksheet.Activate:

1 Arkusze ("Wejście"). Aktywuj

Polecenie Aktywuj arkusz faktycznie „przejdzie” do arkusza, zmieniając widoczny arkusz.

W powyższym przykładzie użyto nazwy Arkusz (Tab). Zamiast tego możesz użyć nazwy kodowej VBA dla arkusza roboczego:

1 Arkusz1.Aktywuj

Nazwa aktywnego arkusza

Aby uzyskać nazwę ActiveSheet:

1 msgbox ActiveSheet.name

Wybrane arkusze a ActiveSheet

W dowolnym momencie tylko jeden Arkusz może być ActiveSheet. Można jednak wybrać wiele arkuszy roboczych jednocześnie.

Gdy zaznaczonych jest wiele Arkuszy, tylko arkusz „najwyższy” jest uważany za aktywny (ActiveSheet).

Wybierz arkusz roboczy

Jeśli chcesz wybrać arkusz zamiast go aktywować. Zamiast tego użyj .Select.

Wybierz arkusz według nazwy karty

Spowoduje to wybranie arkusza roboczego na podstawie jego nazwy zakładki arkusza

1 Arkusze("Wejście").Wybierz

Wybierz arkusz według numeru indeksu

Spowoduje to wybranie arkusza roboczego na podstawie jego pozycji w stosunku do innych zakładek

1 Arkusze (1). Wybierz

Wybierz arkusz roboczy z nazwą kodową VBA

1 Arkusz1.Wybierz

Wybór arkuszy roboczych według nazwy kodowej może zapobiec błędom spowodowanym zmianą nazwy arkusza roboczego.

Wybierz bieżący arkusz roboczy

Aby wybrać bieżący Arkusz, użyj obiektu ActiveSheet:

1 Aktywny arkusz.Wybierz

Więcej Aktywuj / Wybierz przykłady arkuszy

Ustaw ActiveSheet na zmienną

Spowoduje to przypisanie ActiveSheet do zmiennej obiektu arkusza roboczego.

123 Dim ws As WorksheetUstaw ws = Aktywny arkusz

Zmień nazwę aktywnego arkusza

Spowoduje to zmianę nazwy ActiveSheet.

1 ActiveSheet.Name = "Nowa nazwa"

Z ActiveSheet

Użycie instrukcji With umożliwia usprawnienie kodu podczas pracy z obiektami (takimi jak Arkusze lub ActiveSheet).

12345 Z ActiveSheet.Name = "StartFresh".Komórki.Wyczyść.Range("A1").Value = .NazwaKończyć z

Zwróć uwagę, że nie musisz powtarzać „ActiveSheet” przed każdym wierszem kodu. Może to bardzo zaoszczędzić czas podczas pracy z długą listą poleceń.

Zapętlaj wybrane arkusze

Następujące makro wykona pętlę przez wszystkie wybrane arkusze, wyświetlając ich nazwy.

12345678 Sub GetSelectedSheetsName()Dim ws As WorksheetDla każdego ws In ActiveWindow.SelectedSheetsMsgBox ws.NameNastępnyNapis końcowy

Przejdź do następnego arkusza

Ten kod przejdzie do następnego arkusza. Jeśli ActiveSheet jest ostatnim Arkuszem, przejdzie do pierwszego Arkusza w skoroszycie.

12345 Jeśli ActiveSheet.Index = Worksheets.Count ThenArkusze(1).AktywujW przeciwnym razieAktywny arkusz.Następny.AktywujZakończ, jeśli

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave