Tìm ô được sử dụng lần cuối trong Macro (Microsoft Excel)
Nếu bạn đang làm việc trong một trang tính, bạn biết rằng bạn có thể nhấn Ctrl + End để chuyển đến ô cuối cùng trong trang tính. Những gì phím tắt làm là chọn ô đại diện cho giao điểm của cột cuối cùng chứa dữ liệu và hàng cuối cùng chứa dữ liệu. Do đó, nếu cột cuối cùng mà bạn có dữ liệu là cột F và hàng cuối cùng mà bạn có dữ liệu là hàng 27, thì Ctrl + End sẽ chọn ô F27.
Để thực hiện tác vụ tương tự từ macro, bạn sử dụng một lệnh rất đơn giản, như được hiển thị ở đây:
Sub FindLast1() ActiveCell.SpecialCells(xlLastCell).Select End Sub
Chức năng này giống như nhấn Ctrl + End. Tuy nhiên (và đây là một vấn đề lớn), Excel không tự động theo dõi những hàng và cột nào được sử dụng cuối cùng trong một trang tính. Ví dụ, giả sử bạn mở một sổ làm việc, nhấn Ctrl + End và bạn được đưa đến ô F27. Sau đó, nếu bạn xóa 3 hàng và một cột, bạn sẽ mong đợi rằng Ctrl + End sẽ đưa bạn đến ô E24. Nó không; nó vẫn đưa bạn đến ô F27, cho đến khi bạn lưu sổ làm việc và mở lại.
Vấn đề tương tự này ảnh hưởng đến mã macro được hiển thị trong macro FindLast1; nó sẽ đưa bạn đến ô “cao nhất”, bất kể cột hoặc hàng nào bạn đã xóa trong phiên hiện tại.
Điều cần thiết là một cách để đặt lại chỉ báo “ô cuối cùng”, giống như khi bạn đã lưu và mở lại sổ làm việc. Không có lệnh macro nội tại nào thực hiện điều đó, nhưng có một cách để buộc Excel thực hiện thiết lập lại. Tất cả những gì bạn cần làm là điều chỉnh macro như sau:
Sub FindLast2() x = ActiveSheet.UsedRange.Rows.Count ActiveCell.SpecialCells(xlLastCell).Select End Sub
Macro này luôn đưa bạn đến ô thích hợp — nó hoạt động như bạn mong đợi Ctrl + End luôn hoạt động. Nó hoạt động vì dường như Excel, khi tính toán thuộc tính Count cho số hàng trong trang tính, luôn đặt lại chỉ báo “ô cuối cùng”.
_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 (2271) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm thấy 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: