Skoroszyt VBA - Przykłady użycia obiektu skoroszytu Excel VBA

Spisie treści

Skoroszyt Excel VBA

VBA Workbook to obiekt, który jest częścią kolekcji obiektów Workbooks. Z łatwością widzimy różnicę między częścią kolekcji obiektów a samym obiektem, słowo w liczbie mnogiej „skoroszyty” odnosi się do wielu „skoroszytów”. W VBA mamy kilka innych obiektów, takich jak arkusze robocze, komórki i zakresy, wykresy i kształty.

Na platformie programu Excel plik programu Excel jest nazywany „skoroszytem”, zwłaszcza w języku VBA. Nigdy nie nazywamy tego plikiem; nazywamy to raczej „skoroszytem”.

Odwołując się do skoroszytu, możemy wykonać wszystkie związane z nim zadania. Niektóre z ważnych zadań to „Otwórz skoroszyt”, „Zapisz skoroszyt”, „Zapisz jako skoroszyt” i „Zamknij skoroszyt”. Możemy wybrać, aktywować skoroszyty, które są otwarte.

Składnia

Spójrz teraz, jaka jest składnia skoroszytu.

Indeks to nic innego jak skoroszyt, który chcesz wybrać. Możemy odnosić się do skoroszytu według numeru skoroszytu lub nazwy skoroszytu.

Korzystanie z kodu obiektu VBA WorkBook

Przykład 1

Na przykład mam teraz otwarte dwa pliki. Nazwa pierwszego skoroszytu to „Plik 1”, a nazwa drugiego skoroszytu to „Plik 2”.

Teraz piszę kod w trzecim pliku. Z tego pliku chcę aktywować skoroszyt o nazwie „Plik 1”.

Krok 1: Uruchom makro, tworząc podprocedurę VBA.

Kod:

Sub Workbook_Example1 () End Sub

Krok 2: Teraz wybierz obiekt skoroszytu.

Krok 3: Teraz wprowadź skoroszyt, który chcemy aktywować.

Kod:

Sub Workbook_Example1 () Workbooks ("File 1 End Sub

Krok 4: Po wpisaniu nazwy skoroszytu musimy również wprowadzić rozszerzenie pliku. Zapisałem ten skoroszyt jako zwykły skoroszyt, tj . Skoroszyt „xlsx” .

Kod:

Sub Workbook_Example1 () Skoroszyty ("Plik 1.xlsx") End Sub

Krok 5: Teraz musimy zdecydować, co chcemy zrobić z tym skoroszytem. Wprowadź kropkę, aby wyświetlić wszystkie opcje dostępne w tym skoroszycie.

Krok 6: Teraz musimy aktywować skoroszyt, wybierz metodę jako „Aktywuj”.

Kod:

Sub Workbook_Example1 () Workbooks („Plik 1.xlsx”). Aktywuj End Sub

Nie ma znaczenia, w którym skoroszycie się znajdujesz. Aktywuje określony skoroszyt.

Zaraz po wybraniu skoroszytu staje się on „Aktywnym skoroszytem”.

Przykład nr 2 - Wprowadź wartości w skoroszycie

Jak powiedziałem, gdy tylko wybierzesz skoroszyt, stanie się on aktywnym skoroszytem. Korzystając z Active Workbook, możemy odwołać się do komórki.

W aktywnym skoroszycie musimy wybrać arkusz według jego nazwy lub użyć słowa Aktywny arkusz.

W aktywnym arkuszu musimy zaznaczyć komórkę za pomocą obiektu Range.

Kod:

Sub Workbook_Example1 () Workbooks ("File 1.xlsx"). Aktywuj ActiveWorkbook.ActiveSheet.Range ("A1"). Value = "Hello" End Sub

Gdy uruchomisz ten kod za pomocą klawisza F5 lub ręcznie, wstawi on słowo „Hello” do komórki A1 w skoroszycie „File 1.xlsx”.

Możemy również użyć poniższego kodu, aby wykonać tę samą pracę.

Kod:

Sub Workbook_Example1 () Workbooks („File 1.xlsx”). ActiveSheet.Range („A1”). Value = „Hello” End Sub

Spowoduje to również wstawienie słowa „Hello” do skoroszytu „File 1.xlsx”.

Przykład # 3 - Przypisz skoroszyt do zmiennej

Możemy również przypisać typ danych jako „skoroszyt” do zadeklarowanej zmiennej. Zadeklaruj zmienną jako skoroszyt.

Kod:

Sub Workbook_Example2 ()

Przyciemnij WB jako skoroszyt

Napis końcowy

Teraz musimy ustawić zmienną obiektu na nazwę skoroszytu, używając słowa „Set”.

Kod:

Sub Workbook_Example2 () Dim WB As Workbook Set WB = Workbooks ("File 1.xlsx") End Sub

Odtąd zmienna „WB” przechowuje nazwę skoroszytu „Plik 1.xlsx”.

Używając nazwy zmiennej, możemy wstawić słowa.

Kod:

Sub Workbook_Example2 () Dim WB As Workbook Set WB = Workbooks ("File 1.xlsx") WB.Worksheets ("Sheet1"). Range ("A1") = "Hello" WB.Worksheets ("Sheet1"). Range ( „B1”) = „Dobra” WB.Worksheets („Sheet1”). Range („C1”) = „Morning” End Sub

Uruchom ten kod ręcznie lub użyj klawisza skrótu F5 i zobacz wynik, jak pokazano na poniższym zrzucie ekranu.

WB.Worksheets ("Sheet1"). Range ("A1") = "Hello"

Tutaj WB odwołuje się do skoroszytu, w tym skoroszycie odwołujemy się do arkusza roboczego Sheet1 przy użyciu obiektu Worksheets. W tej komórce arkusza A1 jest równe wartości „Hello”.

Możemy również odwoływać się do skoroszytu według numeru indeksu. Na przykład spójrz na poniższy kod.

Kod:

Sub Workbook_Example3() Workbooks(1).Activate Workbooks(2).Activate Workbooks(3).Activate End Sub

Here Workbooks (1) means whichever the workbook first on the list, like this similarly Workbooks (2) refers to the second workbook, and Workbooks (3) refers to the third workbook.

The main problem with this index number referencing is we don’t know exactly which workbook activated. It is dangerous to use index numbers.

Example #4 - For Each Loop for Workbook Object

As I told in the beginning, the workbook is a collection object of Workbooks in VBA. Whenever we want to perform the same kind of activity for all the opened workbooks, we need to use For Each loop in VBA.

For Each Loop is the loop for all the objects in VBA. Use the below code to save all the opened workbooks.

Code:

Sub Save_All_Workbooks () Dim WB As Workbook dla każdego WB In Workbooks WB.Save Next WB End Sub

Kiedy uruchomisz ten kod za pomocą klawisza F5 lub ręcznie, pojawi się wyskakujące okienko z prośbą o zapisanie skoroszytu. Kliknij OK, aby zapisać.

Użyj poniższego kodu, aby zamknąć wszystkie skoroszyty oprócz tego, nad którym pracujesz.

Kod:

Sub Close_All_Workbooks () Przyciemnij WB jako skoroszyt dla każdego WB w skoroszytach, jeśli WB.Name ThisWorkbook.Name Then WB.Close End If Next WB End Sub

Przed zamknięciem skoroszytu pojawia się wyskakujące okienko.

Interesujące artykuły...