Câu lệnh thiết lập VBA - Làm thế nào để chỉ định giá trị cho các biến đối tượng?

Câu lệnh bộ VBA trong Excel

VBA Set là một câu lệnh được sử dụng để gán bất kỳ khóa giá trị nào cho biết một đối tượng hoặc một tham chiếu đến một biến, chúng ta sử dụng hàm này để xác định tham số cho một biến nhất định, ví dụ, nếu chúng ta viết Set M = A có nghĩa là bây giờ M tham chiếu có cùng giá trị và thuộc tính tương tự như những gì A có.

Trong VBA, một đối tượng là cốt lõi của excel vì không có đối tượng, chúng ta không thể làm gì cả. Các đối tượng là Workbook, Worksheet và Range. Khi chúng ta khai báo một biến, chúng ta cần gán một kiểu dữ liệu cho nó, và chúng ta cũng có thể gán các đối tượng làm kiểu dữ liệu. Để gán giá trị cho các biến đối tượng đã khai báo, chúng ta cần sử dụng từ “SET”. Từ “Set” được sử dụng để chỉ một đối tượng mới trong VBA, chẳng hạn, đề cập đến phạm vi cụ thể của trang tính cụ thể.

Cách sử dụng Câu lệnh Bộ VBA trong Excel?

# 1 - Đặt câu lệnh với các biến đối tượng phạm vi

Ví dụ: giả sử bạn muốn sử dụng dải ô A1 đến D5 khá thường xuyên. Thay vì viết mã dưới dạng Phạm vi (“A1: D5”) mỗi lần, chúng ta có thể khai báo biến là phạm vi và đặt tham chiếu phạm vi là Phạm vi (“A1: D5”)

Bước 1: Khai báo biến dưới dạng đối tượng Range.

Mã:

Sub Set_Example ()

Dim MyRange As Range

Kết thúc Sub

Bước 2: Thời điểm chúng tôi chỉ định kiểu dữ liệu là phạm vi, hãy sử dụng từ “Đặt”.

Mã:

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

Bước 3: Bây giờ hãy đề cập đến phạm vi.

Mã:

Sub Set_Example () Dim MyRange As Range Đặt MyRange = Range ("A1: D5") End Sub

Bước 4: Bây giờ, biến “MyRange” bằng phạm vi A1 đến D5. Sử dụng biến này, chúng ta có thể truy cập tất cả các thuộc tính và phương thức của phạm vi này.

Chúng ta có thể sao chép, thêm nhận xét trong excel và làm nhiều việc khác.

Ví dụ, mục đích, tôi đã tạo một số con số ở đây.

Bây giờ bằng cách sử dụng biến, tôi sẽ thay đổi kích thước phông chữ thành 12.

Mã:

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

Điều này sẽ thay đổi kích thước phông chữ của phạm vi được chỉ định.

Như vậy, chúng ta có thể làm nhiều việc với một phạm vi cụ thể bằng cách sử dụng từ “Đặt”.

# 2 - Đặt Câu lệnh với Biến Đối tượng Trang tính

Chúng tôi đã thấy cách “set” hoạt động với một đối tượng phạm vi trong VBA. Nó cũng hoạt động giống hệt như đối tượng trang tính.

Giả sử bạn có 5 trang tính trong sổ làm việc của mình và bạn muốn tiếp tục quay lại một trang tính cụ thể. Bạn có thể đặt tên trang tính đó thành biến đối tượng được xác định.

Ví dụ, hãy xem đoạn mã dưới đây.

Mã:

Sub Set_Worksheet_Example () Dim Ws As Worksheet Set Ws = Worksheets ("Bảng tóm tắt") End Sub

Trong đoạn mã trên, biến “Ws” được định nghĩa là một biến đối tượng và trong dòng tiếp theo, bằng cách sử dụng từ “Đặt”, chúng tôi đặt biến vào trang tính có tên là “Bảng tóm tắt”.

Bây giờ bằng cách sử dụng biến này, chúng ta có thể thực hiện tất cả những việc liên quan đến nó. Hãy xem hai bộ mã dưới đây.

# 1 - Không có từ "Đặt"

Mã:

Sub Set_Worksheet_Example1 () 'Để chọn trang tính Worksheets ("Summary Sheet"). Chọn' Để kích hoạt trang tính Worksheets ("Summary Sheet"). Kích hoạt 'Để ẩn trang tính Worksheets ("Summary Sheet"). Visible = xlVeryHidden' To bỏ ẩn bảng Worksheets ("Bảng Tóm tắt"). Visible = xlVosystem End Sub

Mỗi khi tôi sử dụng đối tượng worksheet để tham chiếu đến sheet “Summary Sheet”, điều này làm cho mã quá dài và cần nhiều thời gian để nhập.

Là một phần của mã khổng lồ, thật khó chịu khi gõ tên trang tính như thế này mỗi khi bạn cần tham chiếu trang tính.

Bây giờ hãy xem lợi thế của việc sử dụng từ Đặt trong Mã.

# 2 - Với từ “Đặt”

Mã:

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

Bây giờ biến Wb1 bằng sổ làm việc có tên “Tệp Tóm tắt Bán hàng 2018.xlsx” và biến Wb2 bằng sổ làm việc có tên “Tệp Tóm tắt Bán hàng 2019.xlsx”.

Sử dụng biến này, chúng tôi thực sự có thể truy cập tất cả các thuộc tính và phương thức được liên kết với sổ làm việc.

Chúng ta có thể rút ngắn đoạn mã như bên dưới.

Không Sử dụng Đặt Từ khoá để kích hoạt sổ làm việc:

Workbooks ("Tệp Tóm tắt Bán hàng 2018.xlsx"). Kích hoạt

Sử dụng Đặt Từ khoá để kích hoạt sổ làm việc:

Wb1.Kích hoạt

Điều này làm cho việc viết mã trở nên đơn giản hơn rất nhiều và ngoài ra, khi tên sổ làm việc được đặt, sẽ có lo lắng về lỗi chính tả của tên sổ làm việc.

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