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 các 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 bởi 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ể.

Làm thế nào để sử dụng Excel VBA Set Statement?

Bạn có thể tải xuống Mẫu câu lệnh tập hợp VBA này tại đây - Mẫu câu lệnh tập hợp VBA

# 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 khi 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 vào tất cả các thuộc tính và phương thức của phạm vi này.

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

Ví dụ về 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 đã 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à 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à đòi hỏi 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") 'Để chọn trang tính Ws Chọn' Để kích hoạt trang tính Ws.Activate 'Để ẩn trang tính Ws.Vible = xlVeryHidden' Để hiện trang tính Ws .Vible = xlVosystem End Sub 

Thời điểm chúng ta đặt tên bảng tính, chúng ta có thể thấy tên biến trong khi nhập mã như một phần của danh sách.

# 3 - Đặt câu lệnh với các biến đối tượng sổ làm việc

Lợi thế thực sự của từ “Set” trong VBA phát sinh khi chúng ta cần tham khảo các sổ làm việc khác nhau.

Khi chúng tôi làm việc với các sổ làm việc khác nhau, rất khó để nhập tên đầy đủ của sổ làm việc cùng với phần mở rộng tệp của nó.

Giả sử bạn có hai sổ làm việc khác nhau có tên là “Tệp Tóm tắt Bán hàng 2018.xlsx” và “Tệp Tóm lược Bán hàng 2019.xlsx”, chúng tôi có thể đặt hai sổ làm việc giống như mã bên dưới.

Mã:

 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 

Giờ đây, 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 lược Bán hàng 2019.xlsx”.

Sử dụng biến này, chúng ta thực sự có thể truy cập vào 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à khi tên sổ làm việc được đặt thì sẽ có lo lắng về lỗi đánh máy của tên sổ làm việc.