Đôi khi trong macro, việc chọn các ô liên quan đến bất kỳ ô nào hiện được chọn sẽ rất hữu ích. Ví dụ: giả sử bạn muốn chọn ba ô đầu tiên của hàng hiện tại. Bạn có thể làm điều đó bằng cách sử dụng mã VBA sau:

Range(Cells(Selection.Row, 1), Cells(Selection.Row, 3)).Select

Thuộc tính Cells trả về một đối tượng đại diện cho một hàng và cột cụ thể (ô riêng lẻ) của một trang tính. Trong cách sử dụng này, Ô được sử dụng hai lần để xác định một phạm vi ô cụ thể. Trường hợp đầu tiên trả về ô đầu tiên của hàng hiện tại, trong khi trường hợp thứ hai trả về ô thứ ba của hàng hiện tại. Do đó, phạm vi trở thành ô đầu tiên đến ô thứ ba của hàng hiện tại.

Thay vì sử dụng thuộc tính Cells để chỉ định vị trí, bạn có thể sử dụng thuộc tính Offset để hoàn thành nhiều công việc tương tự. Hãy xem xét đoạn mã sau:

Range(ActiveCell.Offset(-3, 5), ActiveCell.Offset(0, 10)).Select

Điều này sử dụng thuộc tính Offset của đối tượng ActiveCell để chỉ định một phạm vi liên quan đến ô hiện được chọn. Thuộc tính Offset nhận một đối số đại diện cho hàng và cột của offset. Giá trị âm thể hiện lên trên (đối với hàng) và sang trái (đối với cột). Giá trị dương giảm xuống (đối với hàng) và sang phải (đối với cột). Bạn cũng có thể sử dụng giá trị 0, đại diện cho hàng hoặc cột hiện tại.

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