Cách tham chiếu tên sheet trong VBA

Trong bài học này chúng ta cùng tìm hiểu về tham chiếu tới Sheet trong VBA. Đây là một đối tượng thường xuyên được sử dụng trong khi làm việc trên VBA, vì để xác định chính xác địa chỉ mà chúng ta muốn thao tác tới thì cần xác định rõ địa chỉ đó ở Sheet nào, vùng (range) nào.

Có những cách tham chiếu tên Sheet cơ bản như sau:

Tham chiếu tên Sheet (Sheets Name – thường gặp qua Record Macro)

Khi sử dụng chức năng Record Macro để tự học VBA qua các code tự động tạo qua quá trình ghi lại thao tác người dùng, chúng ta có thể thấy cách tham chiếu tên Sheet qua thao tác này như sau:

Chúng ta thấy ở đây Excel đã chọn đúng tên Sheet theo SheetTab trong Excel:

Sheet1 có tên là Vidu1 => Khi chọn Sheet này thì VBA sẽ ghi nhận là Sheets(‘Tên sheet”).Select

* Ưu điểm của cách này là chúng ta có thể dễ dàng xác định vị trí các Sheet thông qua việc căn cứ trực tiếp vào tên Sheet đang có tại Sheet Tab.

* Nhược điểm là nếu có sự thay đổi tên sheet tại Sheet Tab thì không tự thay đổi tên tham chiếu trong VBA => Gây lỗi => Phải sửa lại trong VBA

Tham chiếu Tên Code của Sheets (Sheets Code Name)

Kỹ thuật này thường gặp bởi người đã hiểu rõ về lập trình trong VBA và đã nắm được các ưu nhược điểm của tham chiếu Tên Sheet, từ đó chuyển sang tham chiếu tới Code Name của Sheet

Mỗi Sheet trong Workbook được mã hóa bởi 1 CodeName duy nhất, ít thay đổi, chỉ thay đổi được trong môi trường VBA, còn việc thay đổi tại SheetTab không làm ảnh hưởng tới CodeName này

Trong hình trên, chúng ta thấy phần Code Name của Sheet là phần bên trái, còn phần tên Sheet trong Sheet tab là phần trong dấu ngoặc.

Khi tham chiếu tới Sheet trong VBA, chúng ta nên sử dụng phần Code Name để tham chiếu.

Cách tham chiếu như sau:

Sheet1.Select     ‘Tham chiếu trực tiếp tới CodeName của Sheet

hoặc Sheets(1).Select => Tham chiếu tới số trong CodeName (Index Number)

* Sheets Code Name có thể thay đổi được ở mục Properties/(Name) của Sheet đó

Sau khi đổi tên Sheet chúng ta có thể sử dụng tham chiếu như sau:

Chúc các bạn học tốt cùng Học Excel Online!