2012-07-18 28 views
10

Trong các phiên bản trước của Excel, nhấn CTRL + A trong trang tính theo nghĩa đen sẽ chọn tất cả các ô. Trong Excel 2010 (không chắc chắn về 2007 hoặc 2003), tôi đã nhận thấy rằng nếu bạn nhấn CTRL + A trong một khối ô chứa giá trị, có vẻ như chỉ biết chọn các ô trong khối đó. Ví dụ, nếu tất cả các ô trong phạm vi A1: D10 chứa giá trị và bạn nhấn CTRL + A trong khi ô hiện hoạt nằm trong phạm vi đó, nó sẽ chỉ chọn A1: D10. Nếu bạn nhấn CTRL + A một lần nữa, chỉ sau đó nó sẽ thực sự chọn tất cả các ô trong bảng tính.Mã VBA để mô phỏng việc chọn một khối bằng phím tắt CTRL + A là gì?

Vì vậy, tôi đã ghi lại một macro để xem mã macro nào đã được tạo khi tôi thực hiện điều này, nhưng nó thực sự viết Range("A1:D10").Select khi tôi nhấn CTRL + A. Điều này là hạn chế và không năng động bởi vì bây giờ tôi phải viết logic của riêng tôi để xác định ranh giới xung quanh ô hiện hoạt. Đó không phải là khó khăn với các phương pháp như ActiveCell.End(xlDown), nhưng tôi không muốn phát minh lại một bánh xe ở đây.

Có một số phương pháp Excel VBA như ActiveCell.GetOuterRange.Select không? Thật là tốt.

Trả lời

19

Đối với tất cả các ô bẩn bạn có thể;

ActiveSheet.UsedRange.Select 

Hoặc cho các ô xung quanh ô hiện tại theo kiểu liền kề bạn có thể;

ActiveCell.CurrentRegion.Select 
Các vấn đề liên quan