Thay đổi tham chiếu ô macro dựa trên chỉnh sửa (Microsoft Excel)
David tự hỏi liệu có cách nào để các tham chiếu ô trong macro thay đổi khi thêm hoặc xóa các hàng, tương tự như cách một công thức phản ứng với những thay đổi đó không?
Khi bạn tham chiếu một ô trong macro, chẳng hạn như sử dụng Phạm vi (“B6”), thì VBA coi tham chiếu đó là tuyệt đối, nghĩa là nó không thay đổi.
Ngay cả khi bạn thêm hoặc xóa các ô ảnh hưởng đến vị trí của thông tin trong B6 hiện đang được đặt, thì tham chiếu macro sẽ vẫn giữ nguyên.
Cách giải quyết vấn đề này là không sử dụng tham chiếu trực tiếp đến các ô trong macro của bạn. Thay vào đó, hãy dựa vào các phạm vi được đặt tên. Trong Excel, xác định tên cho ô B6 (chẳng hạn như “MyData”), rồi sử dụng tên đó trong tham chiếu trong macro của bạn, như trong Phạm vi (“MyData”). Cách tiếp cận này hoạt động vì VBA tra cứu tên để xác định ô nào đang được tham chiếu và Excel đảm bảo rằng các tham chiếu phạm vi được đặt tên vẫn được cập nhật khi bạn thêm hoặc xóa ô.
_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 (7250) á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: