25/05/2018, 23:29

Cách tự động khôi phục lại nội dung của ô tính cuối trong Excel

Ai cũng biết rằng Excel thường xuyên gặp phải lỗi liên quan đến việc ghi nhớ được nội dung ô tính cuối cùng trong bảng tính. Vị trí của ô tính này nằm ở góc dưới bên phải của trang. Bạn có thể sử dụng bất cứ lệnh tham chiếu VBA nào có liên kết đến thuộc tính UsedRange.Rows.Count để khiến Excel tự ...

Ai cũng biết rằng Excel thường xuyên gặp phải lỗi liên quan đến việc ghi nhớ được nội dung ô tính cuối cùng trong bảng tính. Vị trí của ô tính này nằm ở góc dưới bên phải của trang.

Bạn có thể sử dụng bất cứ lệnh tham chiếu VBA nào có liên kết đến thuộc tính UsedRange.Rows.Count để khiến Excel tự động cập nhật lại nội dung ô tính cuối trong bảng tính. Vì thế nếu như máy tính của bạn đang chạy phiên bản Excel 97 thì bạn có thể sử dụng hàm thủ tục con dưới đây trong đoạn mã mô-đun của Trang tính:

“Private Sub Workbook_SheetSelectionChange _

  (ByVal Sh As Object, ByVal Target As Excel.Range)

  x = Sh.UsedRange.Rows.Count

End Sub”

Hàm sẽ được khởi động mỗi khi có bất cứ sự thay đổi nào lên vị trí con trỏ. Nó lập tức truy cập vào tính năng Count và khôi phục lại nội dung ô tính cuối cùng. Bằng cách bấm các phím End-Home, bạn có thể nhanh chóng trỏ đến ô tính cuối của bảng tính.

Cảnh báo: Phương pháp này tuy vậy có một nhược điểm vô cùng lớn. Các thao tác trên sẽ đồng nghĩa với việc chức năng Undo (Quay lại thao tác trước) của Excel sẽ bị vô hiệu hóa. Nói cách khác, bạn sẽ không thể sử dụng được chức năng Undo nữa. Vì thế một phương pháp khác khả thi hơn đó là thiết lập lại toàn bộ chuỗi các ô tính đã sử dụng trong quá trình sao lưu lại bảng tính (việc sao lưu cũng sẽ vô hiệu hóa chức năng Undo). Cụ thể, đoạn mã sẽ chạy như sau:

“Private Sub Workbook_BeforeSave _

  (ByVal SaveAsUI As Boolean, Cancel As Boolean)

    For Each Sh In ThisWorkbook.Worksheets

        x = Sh.UsedRange.Rows.Count

    Next Sh

End Sub”

0