Offset là một hàm thú vị trong Excel. Và trong VBA chúng ta cũng có Offset dưới dạng 1 thuộc tính của đối tượng Cells, Range. Trong bài viết này chúng ta cùng tìm hiểu về thuộc tính OFFSET trong VBA Excel nhé.
Cách viết thuộc tính Offset của đối tượng Range, Cells
Bản chất của Offset là việc di chuyển từ 1 vị trí này tới vị trí khác. Gồm có điểm gốc và điểm đến. Điểm đến sẽ cách điểm gốc bao nhiêu dòng, bao nhiêu cột, và theo hướng nào.
Offset trong VBA được viết như sau:
Expression có thể là 1 Range (vùng ô) hoặc 1 Cells (ô)
Khi viết thuộc tính Offset thì kèm theo dấu chấm, sau đó gọi tên thuộc tính theo cú pháp
Ứng dụng AI và Chat GPT trong Quản trị nhân sự
Học xong khóa này, học viên có thể: Hiểu đúng bản chất AI, các nhóm AI phổ biến và cách AI “hoạt động” ở...
Xem khóa họcTham số bên trong Offset được viết trong cặp dấu ngoặc đơn, gồm:
- Số dòng di chuyển: Nếu số >0 thì di chuyển xuống dưới so với điểm gốc, nếu số <0 thì di chuyển lên trên so với điểm gốc. Nếu = 0 thì giữ nguyên dòng
- Số cột di chuyển: Nếu số >0 thì di chuyển sang phải so với điểm gốc, nếu số <0 thì di chuyển sang trái so với điểm gốc. Nếu = 0 thì giữ nguyên cột
Ví dụ1 : Range(“A1”).Offset(0, 1)
Ví dụ 2: Cells(5, 3).Offset(-1, 2)
* Chú ý:
Để biết kết quả của Range, Cells có phương thức Offset sẽ di chuyển tới đâu, lấy chính số dòng, số cột cộng trực tiếp tương ứng với tham số bên trong Offset. Kết quả của số dòng, cột mới chính là tọa độ của điểm mới sẽ di chuyển tới.
Ví dụ 1:
Ví dụ 2:
Ứng dụng hàm Offset
Trong bảng danh sách nhân viên, hãy xác định mức thưởng cho nhân viên biết: Nếu nhân viên ở bộ phận kinh doanh có mức thưởng là 500:
Câu lệnh VBA là:
Trong ví dụ này, ta thấy câu lệnh:
bien_DoiTuong.Offset(0, 1).Value = Range(“F2”).Value
Câu lệnh này có ý nghĩa là kết quả được lấy vào vị trí ô tương ứng với ô bien_DoiTuong, cách ô đó 1 cột (chính là cột Mức thưởng) theo giá trị tại ô F2.
Khi sử dụng cú pháp For Each, chúng ta phải căn cứ vào biến đối tượng, kết quả phải có liên quan tới biến đối tượng. Do vậy dùng hàm Offset để di chuyển tới ô kết quả tương ứng theo ô Biến đối tượng.








Bình luận