Bruce có một phạm vi được đặt tên (Tài khoản) được xác định trong sổ làm việc và anh ấy tự hỏi làm thế nào để truy cập và sử dụng phạm vi được đặt tên đó từ bên trong một macro. Có một số cách bạn có thể truy cập vào phạm vi, sử dụng đối tượng Phạm vi hoặc bộ sưu tập Tên.

Để truy cập phạm vi đã đặt tên bằng đối tượng Phạm vi, tất cả những gì bạn cần làm là cung cấp tên của phạm vi làm tham số cho đối tượng. Tên này giống với tên mà bạn đã xác định trong Excel. Ví dụ: dòng sau có thể được sử dụng để thay đổi màu nội thất của toàn bộ dải:

Worksheets("Sheet1").Range("Account").Interior.Color = vbYellow

Lưu ý rằng đối tượng Phạm vi được sử dụng liên quan đến một trang tính cụ thể, trong trường hợp này là Sheet1. Bạn cũng có thể xác định một đối tượng phạm vi trong VBA và sau đó gán nó bằng với phạm vi đã đặt tên, theo cách này:

Set rng = Worksheets("Sheet1").Range("Account")

Phương pháp sử dụng phạm vi được đặt tên khác là sử dụng tập hợp Tên. Dòng sau sẽ lại đặt màu nội thất của dải ô thành màu vàng:

Workbooks("Book1.xls").Names("Account").RefersToRange.Interior.Color = vbYellow

Lưu ý rằng bộ sưu tập Tên có liên quan đến toàn bộ sổ làm việc, vì vậy bạn không cần biết phạm vi được đặt tên được liên kết với trang tính nào khi bạn sử dụng phương pháp truy cập này. Bạn cũng có thể định nghĩa một đối tượng phạm vi trong VBA và gán nó giống với phạm vi đã đặt tên:

Set rng = Workbooks("Book1.xls").Names("Account").RefersToRange

Bạn nên biết rằng phương pháp thu thập Tên để truy cập một phạm vi đã đặt tên sẽ chỉ khả thi nếu bạn không có cùng một phạm vi được đặt tên được xác định trên các trang tính khác nhau trong sổ làm việc. Nếu bạn làm vậy, thì bạn sẽ cần sử dụng phương thức đối tượng Phạm vi, phương thức này yêu cầu sử dụng tên trang tính cụ thể trong tham chiếu.

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (3106) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: