/ / Excel VBA Workbook and Worksheet Object

Excel VBA Workbook and Worksheet Object

Hierarchia obiektów | Kolekcje | Właściwości i metody

Dowiedz się więcej o zeszyt ćwiczeń i Obiekt arkusza roboczego w Excel VBA.

Hierarchia obiektów

W programie Excel VBA obiekt może zawierać innyobiekt, a ten obiekt może zawierać inny obiekt, itp. Innymi słowy, programowanie Excel VBA wymaga pracy z hierarchią obiektów. To prawdopodobnie brzmi dość myląco, ale wyjaśnimy to.

Matką wszystkich obiektów jest sam Excel. Nazywamy to obiektem Application. Obiekt aplikacji zawiera inne obiekty. Na przykład obiekt skoroszytu (plik Excel). Może to być dowolny skoroszyt, który utworzyłeś. Obiekt Workbook zawiera inne obiekty, takie jak obiekt arkusza. Obiekt Arkusz roboczy zawiera inne obiekty, takie jak obiekt Range.

Rozdział Tworzenie makr ilustruje sposób uruchomienia kodu poprzez kliknięcie przycisku polecenia. Użyliśmy następującej linii kodu:

Range("A1").Value = "Hello"

ale naprawdę chodziło nam o to:

Application.Workbooks("create-a-macro").Worksheets(1).Range("A1").Value = "Hello"

Uwaga: obiekty są połączone kropką. Na szczęście nie musimy w ten sposób dodawać linii kodu. To dlatego, że umieściliśmy nasz przycisk polecenia w create-a-macro.xls na pierwszym arkuszu. Pamiętaj, że jeśli chcesz zmieniać rzeczy w różnych arkuszach, musisz dołączyć obiekt arkusza. Czytaj.

Kolekcje

Być może zauważyłeś, że Skoroszyty iArkusze robocze są w liczbie mnogiej. To dlatego, że są kolekcje. Kolekcja Skoroszyty zawiera wszystkie obiekty Skorupy, które są obecnie otwarte. Kolekcja arkuszy roboczych zawiera wszystkie obiekty arkusza roboczego ze skoroszytu.

Nazwy arkuszy

Można odwołać się do elementu kolekcji, na przykład do pojedynczego obiektu arkusza, na trzy sposoby.

1. Używanie nazwy arkusza roboczego.

Worksheets("Sales").Range("A1").Value = "Hello"

2. Przy użyciu numeru indeksu (1 jest pierwszym arkuszem roboczym rozpoczynającym się od lewej).

Worksheets(1).Range("A1").Value = "Hello"

3. Korzystanie z CodeName.

Sheet1.Range("A1").Value = "Hello"

Aby zobaczyć CodeName arkusza roboczego, otwórz Edytor Visual Basic. W eksploratorze projektu pierwsze imię to CodeName. Drugie imię to nazwa arkusza roboczego (Sprzedaż).

Kryptonim

Uwaga: Nazwa CodeName pozostaje taka sama, jeśli zmienisz nazwę arkusza roboczego lub kolejność arkuszy, więc jest to najbezpieczniejszy sposób odniesienia do arkusza roboczego. Kliknij View, Properties Window, aby zmienić CodeName arkusza. Jest jedna wada, nie możesz użyć nazwy CodeName, jeśli odwołujesz się do arkusza roboczego w innym skoroszycie.

Właściwości i metody

Teraz spójrzmy na niektóre właściwości imetody kolekcji Skoroszytów i Arkuszy. Właściwości są czymś, co kolekcja ma (opisują kolekcję), podczas gdy metody robią coś (wykonują akcję z kolekcją).

Umieść przycisk polecenia w arkuszu i dodaj linie kodu:

1. Metoda Add kolekcji Workbooks tworzy nowy skoroszyt.

Workbooks.Add

Uwaga: metoda Add w kolekcji Worksheets tworzy nowy arkusz.

2. Właściwość Count kolekcji Arkusz roboczy zlicza liczbę arkuszy w skoroszycie.

MsgBox Worksheets.Count

Wynik po kliknięciu przycisku polecenia na arkuszu:

Zliczaj właściwość w programie Excel VBA

Uwaga: właściwość Count kolekcji Skoroszyty zawiera liczbę aktywnych skoroszytów.

Przeczytaj również: