Giả sử chúng ta có các vùng đã được đặt tên như hình dưới. Bây giờ chúng ta muốn mở rộng DanhSach với dữ liệu của TenThemVao, các bạn có thể dùng thủ tục sau.

Sau khi chạy thủ tục trên các bạn sẽ được kết quả như hình bên. Tôi nghĩ đây là một cách hay, các bạn có thể tham khảo ví dụ trên mà áp dụng vào các ứng dụng của mình. Chúng ta sẽ có bài về đối tượng Range riêng.

Khi đặt tên các bạn chú ý về tên mình đặt như:
- Criteria, Database, Extract → Khi dùng tính năng Advanced Filter
- Print_Area → Thiết lập vùng in trong Page Setup
- Print_Titles → Thiết lập tựa đề in trong Page Setup
- TableX → Khi định dạng Range dạng Table
Trong Excel 2007+ các bạn để ý rằng có một số tên đặc biệt khi bạn dùng tính năng Table để quản lý danh sách dữ liệu. Mặc định Excel 2007 sẽ đặt tên các bảng là Table1, Table2,… Những tên này sẽ xuất hiện trong Name Manager nhưng không có trong collectionNames. Chúng không thể xóa thủ công trong Name Manager, chúng ta dùng đối tượng ListObject để thao tác với chúng.

Tìm kiếm Name
Nếu chúng ta muốn kiểm tra xem tên có tồn tại hay không (cả trong Worksheet và VBA) các bạn có thể dùng đọan code sau:
Kiểm tra hai Name có giao nhau hay không
Để xem hai tên có giao với nhau hay không, các bạn có thể dùng đọan code sau:
Kiểm tra Range giao với Name
Nếu các bạn muốn xem các Range nào giao với vùng chúng ta đang chọn các bạn có thể dùng đọan mã sau:
Chú ý hai thủ tục trên sử dụng hai kỹ thuật khác nhau để gán cho vùng tham chiếu (Range referred) bằng tên của biến đối tượng rngNameRange.
Set rngNameRange = nmName.RefersToRange
Set rngNameRange = Range(nmName.Name)
CÁC VÍ DỤ BỔ SUNG
Liệt kê tất cả các Name trong workbook
Code tham khảo:
Xóa Name ẩn trong Workbook
Code tham khảo:
Xóa các Name bị lỗi tham chiếu
Code tham khảo:
0 nhận xét:
Đăng nhận xét