Lựa chọn VBA tương đối (Microsoft Excel)
Đó là một điều phổ biến cần phải chọn các ô trong macro. Tuy nhiên, điều gì sẽ xảy ra nếu bạn muốn chọn một dải ô liên quan đến vị trí hiện tại của mình? Có một số cách để bạn có thể hoàn thành nhiệm vụ này. Ví dụ: nếu bạn muốn chọn một ô, liên quan đến vị trí hiện tại của bạn, bạn có thể sử dụng phương pháp Offset. Ví dụ: nếu bạn muốn chọn ô có hai hàng xuống và một cột ở bên phải vị trí hiện tại của bạn, bạn có thể sử dụng như sau:
ActiveCell.Offset(2, 1).Select
Nếu bạn muốn chọn một phạm vi lớn hơn chỉ một ô, bạn có thể kết hợp phương pháp Chênh lệch với Phương pháp địa chỉ để tìm địa chỉ ô thực, sau đó sử dụng kết quả của bạn để thực sự chọn chính phạm vi đó. Ví dụ: bạn có thể muốn chọn phạm vi bắt đầu từ hai hàng xuống và một cột ở bên phải, nhưng sau đó mở rộng cho bốn hàng và ba cột. Bạn có thể thực hiện điều này theo cách sau:
StartCell = ActiveCell.Offset(2, 1).Address EndCell = ActiveCell.Offset(5, 3).Address Range(StartCell, EndCell).Select
Một phương pháp thay thế để hoàn thành nhiệm vụ tương tự là sử dụng phương pháp Thay đổi kích thước. Trong kỹ thuật này, trước tiên bạn sẽ chọn ô phía trên bên trái của phạm vi mong muốn (như đã được thực hiện trong lần đầu tiên sử dụng Offset, ở trên), và sau đó sử dụng Thay đổi kích thước để thay đổi kích thước của vùng chọn. Đây là cách nó được thực hiện:
ActiveCell.Offset(2, 1).Select Selection.Resize(4, 3).Select
_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 (7016) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện menu cũ hơn của Excel tại đây: