Việc tìm hiểu hệ thống đối tượng là bước quan trọng khi bắt đầu học lập trình VBA trong Excel, hay bất kỳ ngôn ngữ lập trình nào. Nắm vững hệ thống này giúp bạn hình dung rõ ràng cấu trúc code, từ đó làm việc hiệu quả hơn với từng đối tượng. Bài viết này sẽ hướng dẫn bạn tìm hiểu về hệ thống đối tượng trong Excel VBA, giúp bạn xây dựng nền tảng vững chắc cho việc lập trình VBA.
Từ khóa: Excel VBA, đối tượng VBA, hệ thống đối tượng VBA, lập trình VBA, VBA cơ bản, học VBA
Các Thành Phần Đối Tượng Trong Excel VBA
Các đối tượng trong Excel VBA có mối quan hệ cha-con. Đối tượng Application đứng ở vị trí cao nhất. Khi sử dụng VBA với Excel, đối tượng Application mặc định là Excel, với các thành phần và phương thức tương ứng. Nếu dùng VBA trong Microsoft Access, Application sẽ là Access. Bài viết này tập trung vào các thành phần, phương thức và thuộc tính trong Excel VBA.
Hệ thống đối tượng trong Excel VBA
Application.Workbooks("Book1.xlsx").Worksheets("Sheet1").Range("A1").value = 234
Ví dụ trên ghi giá trị 234 vào ô A1. Tuy nhiên, khi hiểu rõ phân cấp đối tượng trong Excel VBA, bạn có thể viết code ngắn gọn hơn.
Đối Tượng Workbooks
Workbooks là tập hợp các Workbook Excel đang mở, là thành phần con của Application. Để tham chiếu đến Workbooks, sử dụng cú pháp:
Application.Workbooks("_tên_workbook_")
Thường thì chỉ cần viết:
Workbooks("_tên_workbook_")
Vì hiếm khi dùng nhiều Instances của Excel cùng lúc, và trong một Instance, không thể mở Workbook trùng tên.
Ví dụ VBA
Đối Tượng Worksheets
Mỗi Workbook chứa nhiều Worksheets. Để tham chiếu Worksheet “Sheet1” trong “Book1.xlsx”:
Application.Workbooks("Book1.xlsx").Worksheets("Sheet1")
Có thể rút gọn thành:
Worksheets("Sheet1")
Nếu code chỉ làm việc trong “Book1.xlsx”. Tuy nhiên, nếu làm việc với nhiều Workbooks có Sheet trùng tên, cần tham chiếu đầy đủ:
Workbooks("Book1.xlsx").Worksheets("Sheet1")
Đối Tượng Range
Tương tự, nếu chỉ làm việc trên một Sheet:
Range("A1")
Nếu làm việc với nhiều Sheets trong cùng Workbook:
Worksheets("Sheet1").Range("A1")
Với nhiều Workbooks:
Workbooks("Book1.xlsx").Worksheets("Sheet1").Range("A1")
Cách Tra Cứu Thành Phần Và Phương Thức Trong Excel VBA
Excel VBA có rất nhiều thành phần, phương thức, thuộc tính và hằng số. Bạn có thể tra cứu ngay trong trình soạn thảo VBA bằng cách nhấn F2 (hoặc FN + F2).
Tra cứu đối tượng và thành phần trong VBA
Cửa sổ này cho phép tìm kiếm các đối tượng trong Excel VBA và tra cứu thông tin về thuộc tính, phương thức và hằng số.
Kết Luận
Hiểu rõ hệ thống đối tượng trong Excel VBA là nền tảng quan trọng để viết code hiệu quả. Bài viết đã giới thiệu các đối tượng cơ bản như Application, Workbooks, Worksheets và Range, cùng cách tham chiếu và tra cứu thông tin. Hãy bắt đầu thực hành và khám phá thêm nhiều đối tượng khác để nâng cao kỹ năng lập trình VBA của bạn. Tìm hiểu thêm về các khóa học VBA để tự động hóa công việc trên Excel.
Discussion about this post