UsedRange - Tìm ô, cột hoặc hàng được sử dụng lần cuối
Đoạn mã sau sẽ trả về một hộp thông báo cho biết tổng số hàng được sử dụng trong một trang tính. Hàng trống được coi là được sử dụng nếu dữ liệu theo sau hàng trống.
1 | MsgBox ActiveSheet.UsedRange.Rows.Count |
Bạn có phải chạy một vòng xuống một trang tính nhưng không biết dữ liệu dừng ở đâu? ActiveSheet.UsedRange.Rows.Count có thể hữu ích.
Đặt cái này vào một mô-đun:
123456789 | Sub LastRow ()Làm mờ LastRow dưới dạng số nguyênLastRow = ActiveSheet.UsedRange.Rows.CountMsgBox LastRowKết thúc Sub |
123456789 | Sub LastCol ()Làm mờ LastCol dưới dạng số nguyênLastCol = ActiveSheet.UsedRange.Col.CountMsgBox LastColKết thúc Sub |
Tìm ô trống đầu tiên
Sử dụng VBA, bạn có thể cần ghi vào ô trống đầu tiên hoặc sau hàng cuối cùng được sử dụng trong một cột. Không cần phải lặp lại để tìm điều này, đoạn mã sau sẽ giúp bạn.
Trong ví dụ này, mã sẽ viết “FirstEmpty” trong ô trống đầu tiên trong cột “d”
1234 | Công khai Sub AfterLast ()ActiveSheet.Range ("d" & ActiveSheet.Rows.Count) .End (xlUp) .Offset (1, 0) .Value = "FirstEmpty"Kết thúc Sub |
Đếm số cột đã sử dụng trong trang tính
Đoạn mã sau sẽ trả về trong hộp thông báo tổng số cột được sử dụng trong một trang tính. Các cột trống được coi là được sử dụng nếu dữ liệu theo sau cột trống.
1 | MsgBox ActiveSheet.UsedRange.Columns.Count |
Ô được sử dụng lần cuối - Sự cố
Khi tôi cần For… Next… Lặp qua toàn bộ cột, tôi thường sử dụng ActiveSheet.UsedRange.Rows.Count để tìm điểm dừng. Tôi luôn gặp may mắn với cách tiếp cận này.
Tôi cũng biết rằng đôi khi Excel nghĩ rằng hàng cuối cùng tồn tại ở đâu đó, nhưng hàng thực sự trống. Tôi đã thấy điều này một vài lần sau khi nhập dữ liệu. Từ BeyondTechnology:
Đối tượng Worksheet của Đã sử dụng không phải lúc nào cũng hoạt động vì phạm vi được sử dụng (hoặc "khu vực bẩn") của bảng tính có thể lớn hơn khu vực thực sự được điền trong hồ sơ của bạn.