VBA Workbook - Ví dụ để sử dụng Excel VBA Đối tượng sổ làm việc

Mục lục

Excel VBA Workbook

VBA Workbook là một đối tượng là một phần của bộ sưu tập đối tượng Workbooks. Chúng ta dễ dàng nhận thấy sự khác biệt của một phần của bộ sưu tập đối tượng và chính đối tượng, từ số nhiều của “Workbooks” ám chỉ nó có nhiều “Workbook”. Trong VBA, chúng ta có một số đối tượng khác như Worksheets, Cells & Ranges, Charts và Shapes.

Trong nền tảng excel, tệp excel được gọi là “Workbook”, đặc biệt là trong VBA. Chúng tôi không bao giờ gọi nó là một tập tin; đúng hơn, chúng tôi gọi nó là “Workbook”.

Bằng cách tham chiếu đến sổ làm việc, chúng ta có thể thực hiện tất cả các tác vụ liên quan đến nó. Một số tác vụ quan trọng là “Mở sổ làm việc”, “Lưu sổ làm việc”, “Lưu dưới dạng sổ làm việc” và “Đóng sổ làm việc”. Chúng ta có thể chọn, kích hoạt các sổ làm việc được mở.

Cú pháp

Bây giờ, hãy xem cú pháp của Workbook là gì.

Chỉ mục không là gì ngoài sổ làm việc bạn muốn chọn. Chúng ta có thể tham chiếu đến sổ làm việc theo số sổ làm việc hoặc theo tên sổ làm việc.

Sử dụng mã đối tượng VBA WorkBook

Ví dụ 1

Ví dụ, tôi có hai tệp đang mở ngay bây giờ. Tên sổ làm việc đầu tiên là “Tệp 1” và tên sổ làm việc thứ hai là “Tệp 2”.

Bây giờ tôi đang viết mã trong tệp thứ ba. Từ tệp này, tôi muốn kích hoạt sổ làm việc có tên là “Tệp 1”.

Bước 1: Khởi động macro bằng cách tạo một quy trình con VBA.

Mã:

Sub Workbook_Example1 () End Sub

Bước 2: Bây giờ chọn đối tượng sổ làm việc.

Bước 3: Bây giờ, hãy nhập sổ làm việc mà chúng ta muốn kích hoạt.

Mã:

Sub Workbook_Example1 () Workbooks ("File 1 End Sub

Bước 4: Sau khi nhập tên sổ làm việc, chúng ta cũng cần nhập cả phần mở rộng tệp. Tôi đã lưu sổ làm việc này dưới dạng sổ làm việc thông thường, tức là sổ làm việc “xlsx” .

Mã:

Sub Workbook_Example1 () Workbooks ("Tệp 1.xlsx") End Sub

Bước 5: Bây giờ, chúng ta cần quyết định những gì chúng ta muốn làm với sổ làm việc này. Nhập dấu chấm để xem tất cả các tùy chọn có sẵn với sổ làm việc này.

Bước 6: Bây giờ, chúng ta cần kích hoạt sổ làm việc, chọn phương pháp là “Kích hoạt”.

Mã:

Sub Workbook_Example1 () Workbooks ("Tệp 1.xlsx"). Kích hoạt End Sub

Không quan trọng bạn đang ở sổ làm việc nào. Nó sẽ kích hoạt sổ làm việc được chỉ định.

Ngay sau khi bạn chọn sổ làm việc, nó sẽ trở thành “Sổ làm việc hoạt động”.

Ví dụ # 2 - Nhập Giá trị trong Sổ làm việc

Như tôi đã nói ngay sau khi bạn chọn sổ làm việc, nó sẽ trở thành một Sổ làm việc Hoạt động. Sử dụng Active Workbook, chúng ta có thể tham chiếu ô.

Trong sổ làm việc đang hoạt động, chúng ta cần chọn trang tính theo tên của nó, nếu không, chúng ta sử dụng từ Trang tính Hoạt động.

Trong trang tính đang hoạt động, chúng ta cần chọn ô bằng cách sử dụng đối tượng Phạm vi.

Mã:

Sub Workbook_Example1 () Workbooks ("Tệp 1.xlsx"). Kích hoạt ActiveWorkbook.ActiveSheet.Range ("A1"). Value = "Hello" End Sub

Khi bạn chạy mã này bằng phím F5 hoặc theo cách thủ công, nó sẽ chèn từ “Xin chào” vào ô A1 trong sổ làm việc “Tệp 1.xlsx”.

We can also use the below code to do the same job.

Code:

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

This will also insert the word “Hello” to the workbook “File 1.xlsx.”

Example #3 - Assign Workbook to Variable

We can also assign the data type as a “workbook” to the declared variable. Declare the variable as Workbook.

Code:

Sub Workbook_Example2()

Dim WB As Workbook

End Sub

Now we need to set the object variable to the workbook name by using the word “Set.”

Code:

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

From now onwards, the variable “WB” holds the name of the workbook “File 1.xlsx”.

Using the variable name, we can insert the words.

Code:

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

Run this code manually or use shortcut key F5 and see the result, as shown in the below screenshot.

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

Here WB is referencing the workbook, in that workbook, we are referencing the worksheet Sheet1 by using the Worksheets object. In that worksheet cell, A1 is equal to the value of “Hello.”

We can also reference the workbook by index number as well. For example, look at the below code.

Code:

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 () Làm mờ WB làm sổ làm việc cho mỗi WB trong sổ làm việc WB. Lưu WB tiếp theo End Sub

Khi bạn chạy mã này thông qua phím F5 hoặc theo cách thủ công, sau đó một Cửa sổ bật lên sẽ xuất hiện, yêu cầu lưu sổ làm việc. Bấm vào Ok để lưu.

Sử dụng mã dưới đây để đóng tất cả các sổ làm việc ngoại trừ sổ bạn đang làm việc.

Mã:

Sub Close_All_Workbooks () Làm mờ WB làm sổ làm việc cho mỗi WB trong sổ làm việc If WB.Name ThisWorkbook.Name Then WB.C Close End If Next WB End Sub

Một cửa sổ bật lên xuất hiện trước khi đóng sổ làm việc.

thú vị bài viết...