VBA Set Object Variables - skoroszyty, arkusze robocze i inne

Ten samouczek nauczy Cię, jak definiować zmienne obiektów za pomocą instrukcji Set w VBA.

Definiowanie zmiennych obiektowych

Obiekty to podstawa Microsoft Office - bez obiektów nie możemy niczego osiągnąć. W programie Excel obiekty obejmują skoroszyt, arkusz lub obiekty zakresu. W programie Microsoft Word przykładami są obiekt Document lub Table. Każdy obiekt ma różne Nieruchomości oraz Metody które można zaprogramować do sterowania zachowaniem tego obiektu.

Deklarowanie zmiennej obiektowej

Zanim będziemy mogli odwoływać się do obiektu w kodzie, a tym samym kontrolować obiekt, musimy go zadeklarować. Możemy to zrobić za pomocą instrukcji Dim.

123456 Dim wkb jako skoroszytDim wks jako arkusz roboczyDim Rng jako zakresDim wdDoc jako dokumentDim wdTbl jako tabelaDim shp jako kształt

Ten Ciemny deklaracja może wystąpić wewnątrz procedury:

lub poza procedurą na poziomie modułu:

Jeśli zmienna jest zadeklarowana na poziomie modułu (poza procedurą), zmienna może być używana w całym module.

Jeśli zmienna obiektu jest zadeklarowana za pomocą instrukcji Public, zmienna może być używana w całym Projekcie VBA:

Ustalić wartość

Po zadeklarowaniu obiektu musisz przypisać wartość do obiektu. Należy to zrobić za pomocą Ustaw oświadczenie i można to zrobić tylko w ciągu Procedura.

12345 Podzestaw obiektów()Ustaw wkb = ActiveWorkbookUstaw tyg = Arkusz1Ustaw rng = Zakres("A1:G4")Napis końcowy

Uwaga: różni się to od przypisywania wartości do zmiennych niebędących obiektami. MUSISZ użyć instrukcji Set, aby przypisać obiekt do zmiennej. Jeśli tego nie zrobisz, otrzymasz błąd:

Po przypisaniu wartości do obiektu możesz napisać kod kontrolujący zachowanie lub manipulować obiektem.

Programowanie VBA | Generator kodu działa dla Ciebie!

Przykłady obiektów w Excelu

Obiekt skoroszytu

Po zadeklarowaniu zmiennej skoroszytu możesz przypisać skoroszyt do tego obiektu i użyć dostępnych właściwości i metod do manipulowania tym obiektem. W poniższym przykładzie zamierzamy zapisać skoroszyt.

123456789101112 Podrzędny obiekt skoroszytu()'deklaruj obiekt skoroszytuDim wkb jako skoroszyt'przypisz niezapisany skoroszyt do obiektuUstaw wkb = Skoroszyty("Książka1")„zapisz skoroszyt”wkb.SaveAs "C:\dane\zeszyt testowy.xlsx"„zamknij skoroszyt”wkb.zamknij'pamiętaj, aby zwolnić przedmiotUstaw wkb = NicNapis końcowy

Obiekt arkusza roboczego

Podobnie możesz manipulować arkuszem lub arkuszami roboczymi po zadeklarowaniu arkusza jako zmiennej. W poniższym przykładzie zmieniamy nazwy Sheet1 i Sheet2.

12345678910111213 Podobiekt arkusza roboczego()Dim wks1 jako arkusz roboczyDim wks2 jako arkusz roboczy„zainicjuj obiekty”Ustaw wks1 = Arkusz1Ustaw wks2 = Arkusz2'zmień nazwy arkuszywks1.Name = "Klienci"wks2.Name = "Produkty"„ustaw obiekty na nic”wks1 = Nicwks2 = NicNapis końcowy

Masz dość wyszukiwania przykładów kodu VBA? Wypróbuj Automakro!

Obiekt zakresu

Obiekt Range jest jednym z najbardziej przydatnych obiektów do manipulowania w programie Excel. W poniższym przykładzie pogrubiliśmy zakres od A1 do E1 i sformatowaliśmy go dolną krawędzią.

12345678910111213 Obiekt podzakresu()Dim rng1 jako zakres„zainicjuj zakres”Ustaw rng = Zakres("A1:E1")'pogrub zakres i ustaw dolną granicęrng.Font.Pogrubienie = PrawdaZ rng1.Borders(xlEdgeBottom).LineStyle = xlCiągły.KolorIndeks = 0.OdcieńIOdcień = 0.Waga = xlcienkiKończyć zNapis końcowy

Kształt obiektu

Do pracy z kształtami można również używać zmiennych obiektu.

123456789101112 Sub AddShape()Przyciemnij shp jako kształt'stwórz kształtUstaw shp = ActiveDocument.Shapes.AddShape(msoShapeSmileyFace, 68.25, 225.75, 136.5, 96#)Z shp„zmień kolor i styl wnętrza”.Fill.ForeColor.RGB = RGB (255, 255, 0).Wypełnij.Stały„dostosuj uśmiech!.Dostosowania.Pozycja(1) = 0,07181Kończyć zNapis końcowy
wave wave wave wave wave