Oświadczenie dotyczące zestawu VBA - Jak przypisać wartości do zmiennych obiektów?

Spisie treści

Instrukcja Excel VBA Set

VBA Set to instrukcja, która jest używana do przypisania dowolnego klucza wartości, który mówi, że obiekt lub odniesienie do zmiennej, używamy tej funkcji do definiowania parametru dla określonej zmiennej, na przykład, jeśli napiszemy Set M = A, co oznacza teraz M odniesienie ma te same wartości i atrybuty podobne do tego, co ma A.

W VBA obiekt jest rdzeniem programu Excel, ponieważ bez obiektów nie możemy nic zrobić. Obiekty to skoroszyt, arkusz roboczy i zakres. Kiedy deklarujemy zmienną, musimy przypisać jej typ danych, a także możemy przypisać obiekty jako typy danych. Aby przypisać wartość do zadeklarowanych zmiennych obiektowych, musimy użyć słowa „SET”. Słowo „zestaw” używane w odniesieniu do nowego obiektu w języku VBA, na przykład odnoszące się do określonego zakresu określonego arkusza roboczego.

Jak korzystać z instrukcji zestawu Excel VBA?

# 1 - Instrukcja Set ze zmiennymi obiektu Range

Na przykład załóżmy, że chcesz często używać zakresu od A1 do D5. Zamiast za każdym razem zapisywać kod jako Range („A1: D5”), możemy zadeklarować zmienną jako zakres i ustawić odwołanie do zakresu jako Range („A1: D5”)

Krok 1: Zadeklaruj zmienną jako obiekt Range.

Kod:

Sub Set_Example ()

Dim MyRange As Range

Napis końcowy

Krok 2: W momencie przypisania typu danych jako zakresu użyj słowa „Ustaw”.

Kod:

Sub Set_Example () Dim MyRange As Range Ustaw MyRange = End Sub

Krok 3: Teraz wspomnij o zakresie.

Kod:

Sub Set_Example () Dim MyRange As Range Ustaw MyRange = Range ("A1: D5") End Sub

Krok 4: Teraz zmienna „MyRange” jest równa zakresowi od A1 do D5. Używając tej zmiennej, możemy uzyskać dostęp do wszystkich właściwości i metod tego zakresu.

Możemy kopiować, dodawać komentarze w Excelu i robić wiele innych rzeczy.

Na przykład cel, utworzyłem tutaj kilka liczb.

Teraz używając zmiennej zmienię rozmiar czcionki na 12.

Kod:

Sub Set_Example () Dim MyRange As Range Ustaw MyRange = Range ("A1: D5") MyRange.Font.Size = 12 End Sub

Spowoduje to zmianę rozmiaru czcionki w przypisanym zakresie.

W ten sposób możemy zrobić wiele rzeczy z określonym zakresem, używając słowa „zestaw”.

# 2 - Ustaw instrukcję ze zmiennymi obiektów arkusza

Widzieliśmy, jak „zestaw” działa z obiektem zakresu w VBA. Działa dokładnie tak samo, jak obiekt arkusza.

Powiedzmy, że masz w skoroszycie 5 arkuszy i chcesz wracać do jednego konkretnego arkusza. Możesz ustawić tę nazwę arkusza na zdefiniowaną zmienną obiektu.

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

Kod:

Sub Set_Worksheet_Example () Dim Ws As Zestaw arkuszy Ws = Worksheets ("Summary Sheet") End Sub

W powyższym kodzie zmienną „Ws” zdefiniowano jako zmienną obiektu, aw następnym wierszu, używając słowa „Set”, ustawiamy zmienną na arkusz o nazwie „Summary Sheet”.

Teraz używając tej zmiennej, możemy zrobić wszystkie rzeczy z nią związane. Spójrz na poniższe dwa zestawy kodu.

# 1 - Bez „ustawionego” słowa

Kod:

Sub Set_Worksheet_Example1 () 'Aby wybrać arkusz Arkusze robocze („Arkusz podsumowujący”). Wybierz „Aby aktywować arkusz Arkusze robocze („ Arkusz podsumowujący ”). Aktywuj” Aby ukryć arkusz Arkusze robocze („Arkusz podsumowania”). Visible = xlVeryHidden' To odkryj arkusz Arkusze robocze („Arkusz podsumowujący”). Visible = xlVisible End Sub

Za każdym razem, gdy korzystam z obiektu arkuszy roboczych, aby odnieść się do arkusza „Arkusz podsumowania”, kod jest tak długi, a jego wpisanie zajmuje dużo czasu.

Jako część ogromnego kodu frustrujące jest wpisywanie takiej nazwy arkusza za każdym razem, gdy trzeba odwołać się do arkusza.

Teraz spójrz na zalety używania słowa Set in Code.

# 2 - Ze słowem „Ustaw”

Kod:

Sub Set_Worksheet_Example() Dim Ws As Worksheet Set Ws = Worksheets("Summary Sheet") 'To select the sheet Ws.Select 'To Activate the sheet Ws.Activate 'To hide the sheet Ws.Visible = xlVeryHidden 'To unhide the sheet Ws.Visible = xlVisible End Sub

The moment we set the worksheet name, we can see the variable name while entering the code as part of the list.

#3 - Set Statement with Workbook Object Variables

The real advantage of the word “Set” in VBA arises when we need to reference different workbooks.

When we work with different workbooks, it is so hard to type in the full name of the workbook, along with its file extension.

Assume you have two different workbooks named “Sales Summary File 2018.xlsx” and “Sales Summary File 2019.xlsx” we can set the two workbooks like the below code.

Code:

Sub Set_Workbook_Example1 () Dim Wb1 As Workbook Dim Wb2 As Workbook Set Wb1 = Workbooks ("Sales Summary File 2018.xlsx") Set Wb2 = Workbooks ("Sales Summary File 2019.xlsx") End Sub

Teraz zmienna Wb1 jest równa skoroszytowi o nazwie „Sales Summary File 2018.xlsx”, a zmienna Wb2 jest równa skoroszytowi o nazwie „Sales Summary File 2019.xlsx”.

Używając tej zmiennej, możemy faktycznie uzyskać dostęp do wszystkich właściwości i metod powiązanych ze skoroszytem.

Kod możemy skrócić jak poniżej.

Bez użycia Set Keyword do aktywacji skoroszytu:

Skoroszyty („Plik podsumowania sprzedaży 2018.xlsx”). Aktywuj

Użycie Set Keyword do aktywacji skoroszytu:

Wb1.Aktywuj

To sprawia, że ​​pisanie kodu jest dużo prostsze, a także po ustawieniu nazwy skoroszytu istnieje obawa, że ​​w nazwach skoroszytów pojawi się błąd literowy.

Interesujące artykuły...