Đối tượng Workbook và Worksheet trong VBA Excel

0
134

Tìm hiểu thêm về đối tượngWorkbook và Worksheet trong VBA Excel .

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

Trong Excel VBA, một đối tượng có thể chứa một đối tượng khác và đối tượng đó có thể chứa một đối tượng khác, v.v. Nói cách khác, lập trình VBA của Excel bao gồm làm việc với hệ thống phân cấp đối tượng. Điều này có vẻ khá khó hiểu, nhưng chúng tôi sẽ làm cho nó rõ ràng.

Mẹ của tất cả các đối tượng là chính Excel. Chúng tôi gọi nó là đối tượng Ứng dụng. Đối tượng ứng dụng chứa các đối tượng khác. Ví dụ: đối tượng Workbook (tệp Excel). Đây có thể là bất kỳ sổ làm việc bạn đã tạo. Đối tượng Workbook chứa các đối tượng khác, chẳng hạn như đối tượng Worksheet. Đối tượng Worksheet chứa các đối tượng khác, chẳng hạn như đối tượng Range.

Ở bài Tạo một Macro minh họa cách chạy mã bằng cách nhấp vào nút lệnh. Chúng tôi đã sử dụng dòng mã sau:

Range("A1").Value = "Hello" 

nhưng những gì chúng tôi có được là:

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

Lưu ý: các đối tượng được kết nối với một dấu chấm. May mắn thay, chúng ta không phải thêm một dòng mã theo cách này. Đó là bởi vì chúng tôi đã đặt nút lệnh của chúng tôi trong create-a-macro.xlsm , trên bảng tính đầu tiên. Xin lưu ý rằng nếu bạn muốn thay đổi mọi thứ trên các trang tính khác nhau, bạn phải bao gồm đối tượng Trang tính.

Collections

Bạn có thể nhận thấy rằng Workbook và Worksheet đều là số nhiều. Đó là bởi vì chúng là bộ sưu tập. Bộ sưu tập Workbook chứa tất cả các đối tượng Workbook hiện đang mở. Bộ sưu tập Worksheet chứa tất cả các đối tượng Worksheet trong một bảng tính.

Bạn có thể tham khảo một thành viên của bộ sưu tập, ví dụ, một đối tượng Worksheet duy nhất, theo ba cách.

1. Sử dụng tên bảng tính.

Worksheets("Sales").Range("A1").Value = "Hello" 

2. Sử dụng số chỉ mục (1 là bảng tính đầu tiên bắt đầu từ bên trái).

Worksheets(1).Range("A1").Value = "Hello" 

3. Sử dụng CodeName.

Sheet1.Range("A1").Value = "Hello" 

Để xem CodeName của trang tính, hãy mở Trình soạn thảo Visual Basic . Trong Project Explorer, tên đầu tiên là CodeName. Tên thứ hai là tên bảng tính (Bán hàng).

Lưu ý: CodeName vẫn giữ nguyên nếu bạn thay đổi tên trang tính hoặc thứ tự trang tính của bạn để đây là cách an toàn nhất để tham chiếu trang tính. Bấm vào Xem, Cửa sổ Thuộc tính để thay đổi CodeName của trang tính. Có một nhược điểm, bạn không thể sử dụng CodeName nếu bạn tham chiếu một bảng tính trong một sổ làm việc khác.

Thuộc tính và phương pháp

Bây giờ chúng ta hãy xem một số thuộc tính và phương pháp của bộ sưu tập Workbook và Worksheet. Các thuộc tính là một cái gì đó mà một bộ sưu tập có (chúng mô tả bộ sưu tập), trong khi các phương thức làm một cái gì đó (chúng thực hiện một hành động với một bộ sưu tập).

Đặt một nút lệnh trên bảng tính của bạn và thêm các dòng mã:

1. Phương thức Thêm của bộ sưu tập Sổ làm việc tạo ra một sổ làm việc mới.

Workbooks.Add 

Lưu ý: phương pháp Thêm của bộ sưu tập Trang tính tạo ra một bảng tính mới.

2. Thuộc tính Count của bộ sưu tập Worksheet đếm số lượng trang tính trong sổ làm việc.

MsgBox Worksheet.Count

Kết quả khi bạn nhấp vào nút lệnh trên trang tính:

Lưu ý: thuộc tính Count của bộ sưu tập Workbook đếm số lượng sổ làm việc đang hoạt động.

Xem thêm: Điều khiển ActiveX trong VBA Excel

Tham khảo: Khóa học VBA Excel tại Hà Nội

LEAVE A REPLY

Please enter your comment!
Please enter your name here