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 phả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), 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 (2298) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm 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: