Macro VBA – Đối tượng Workbook và Worksheet

Object Hierarchy – Phân cấp đối tượng

Trong Excel VBA, một đối tượng có thể bao gồm đối tượng khác, và đối tượng này có thể bao gồm đối tượng khác, … Chương trình Excel VBA liên quan đến việc làm việc với các đối tượng được phân cấp.

Phân cấp cao nhất của Excel là chính nó, được gọi là Application. Đối tượng này sẽ bao gồm các đối tượng khác như Workbook (Excel file). Đây có thể là bất kỳ workbook nào mà bạn đã tạo. Workbook bao gồm các đối tượng khác, như Worksheet. Worksheet bao gồm các đối tượng khác, như Range….

Bài viết Create a Macro mô tả làm thế nào để chạy code bằng cách click vào 1 command button. Chúng ta sử dụng đoạn code sau:

Range(“A1”).Value = “Hello”

Thực tế điều chúng ta nói đến là:

Application.Workbooks(“create-a-macro”).Worksheets(1).Range(“A1”).Value = “Hello”

Chú ý: Các đối tượng liên kết với nhau bằng dấu chấm (.)
Chúng ta không cần phải viết đoạn code dài như trên, bởi vì command button đã được đặt ở file create-a-macro.xls, trong sheet đầu tiên Sheet(1).

Collections

Bạn có thể thấy chữ “s” trong Workbooks và Worksheets, đây là cách viết số nhiều của tiếng Anh. Workbooks bao gồm tất cả  các Workbook đang mở, Worksheets báo gồm tất cả các Wooksheet của một Workbook

71

Ví dụ về cách sử dụng Wooksheet:
1. Sử dụng tên Worksheet:

Worksheets(“Sales”).Range(“A1”).Value = “Hello”

2. Dùng số index (1 là Worksheet đầu tiên bên tay trái).

Worksheets(1).Range(“A1”).Value = “Hello”

3. Dùng CodeName.

Sheet1.Range(“A1”).Value = “Hello”

Để xem the CodeName của Worksheet, mở  Visual Basic Editor. Ở Project Explorer, phần tên đầu tiên là CodeName (Sheet1), phần tên thứ 2 tên worksheet (Sales).

72

Chú ý: CodeName luôn không thay đổi, cho dù bạn đổi tên worksheet hoặc thay đổi thứ tự worksheet, nên đây là cách tốt nhất để tham chiếu đến. Click View, Properties Window để thay đổi CodeName của worksheet. Có một điểm bất lợi, bạn không dùng CodeName nếu bạn tham chiếu đến worksheet của một workbook khác.

Properties and Methods

Properties là những thuộc tính của đối tượng (để mô tả đối tượng), methods thực hiện một số hành động với đối tượng

Đặt command button vào worksheet của bạn và paste đoạn code bên dưới
1. Method Add của Workbooks tạo một workbook mới.

Workbooks.Add

Chú ý: Method Add của Worksheets tạo một worksheet mới.

2. Property: Count của Worksheets đếm số worksheets trong một workbook

MsgBox Worksheets.Count

Kết quả khi click vào command button:

73

Chú ý: Thuộc tính Count  Workbooks đếm số Workbooks đang active.

Gửi nhận xét