Việc sử dụng biến trong lập trình VBA là rất quan trọng. Trong bài viết về Hướng dẫn cách khai báo biến khi viết code trong VBA Excel chúng ta đã được tìm hiểu chung về cú pháp khai báo biến thông thường. Nhưng trong VBA còn có 1 loại biến để gán cho 1 đối tượng cụ thể như Workbook, Worksheet, Range… thì làm như thế nào? Hãy cùng Học Excel Online tìm hiểu cách khai báo biến đối tượng trong VBA Excel trong bài viết này nhé.
Xem nhanh
Biến đối tượng là biến đại diện cho 1 đối tượng cụ thể (Object):
Biến đối tượng chủ yếu liên quan tới Tên đối tượng, vị trí đặt đối tượng, phạm vi kích thước của đối tượng.
Còn biến giá trị thì thể hiện cho 1 giá trị (Value, Variant):
Do đó khi làm việc viết 2 loại biến này, cú pháp khai báo biến cũng khác nhau
Ví dụ chúng ta muốn gán biến MyWB cho Workbook nơi chứa câu lệnh Macro thì viết như sau:
Ví dụ chúng ta có yêu cầu như sau:
Tại Workbook 1 có bảng báo cáo từ vùng B1:C17 tại Sheet1
Viết Macro rồi gán vào Shape Export, khi bấm vào Shape đó sẽ chạy Macro trích xuất dữ liệu đó sang vùng A1:B17 của Sheet1 trong 1 Workbook mới.
Cách làm như sau:
1. Phân tích các bước thực hiện (Quy trình)
Ở đây chúng ta có 2 đối tượng Workbook: 1 Workbook đã có sẵn với phần báo cáo, 1 Workbook được thêm mới để nhận dữ liệu từ Workbook có sẵn.
Do đó để dễ gọi tên và làm việc với đúng các Workbook, chúng ta sẽ đặt 2 biến cho 2 Workbook này.
Công việc gồm:
2. Câu lệnh code trong VBA
Như vậy khi làm việc với các đối tượng khác nhau, dễ nhầm lẫn, chúng ta nên sử dụng phương pháp đặt biến đối tượng. Thay vì gọi rõ tên đối tượng thì chúng ta chỉ cần gọi biến đã gán cho đối tượng đó.
Các bạn có thể tải về file mẫu cho ví dụ trên tại địa chỉ: http://bit.ly/2Ndpybg
Ngoài ra để làm việc tốt hơn với các đối tượng trong VBA, các bạn có thể tìm hiểu các bài viết:
Hướng dẫn cách viết code với đối tượng Range trong VBA Excel
Hướng dẫn cách viết code với đối tượng Workbook trong VBA Excel
Hướng dẫn cách viết code với đối tượng Worksheet trong VBA Excel