Sử dụng Offset trong VBA để chọn một ô hoặc dãy ô Excel
Trong bài này mình sẽ hướng dẫn cách sử dụng Offset trong VBA để chọn một ô hoặc một dãy ô Excel bằng VBA Code. Thuộc tính Offset VBA sẽ trả về một Ragne dựa vào vị trí của một Range khác (vị trí này ta gọi là điểm mốc, giống như mốc lộ giới vậy đó).
Đề bài: Cho một ô hoặc một dãy ô bất kì (có thể sử dụng Range, Cells, Rows để tạo), hãy tạo ra một dãy mới xuất phát từ vị trí của dãy đó.
Để giải bài này thì ta sử dụng hàm phương thức Offset
1. Cú pháp của Offset VBA
Trước tiên hãy điểm qua một chút về cú pháp của nó đã nhé.
Bài viết này được đăng tại [free tuts .net]
Range.Offset(RowOffset, ColumnOffset)
Trong đó:
- RowOffset là vị trí hàng so với Range.
- Hướng lên trên là số âm
- Hướng xuống dưới là số dương
- ColumnOffset là vị trí cột so với Range.
- Qua bên trái là số âm
- Qua bên phải là số dương
Tham khảo hình ảnh dưới đây bạn sẽ hiểu rõ hơn.
Giả sử ô D6 là điểm mốc. Dựa vào điểm này mình muốn chọn F3 thì công thức sẽ là:
Range("A6").Offset(-3, 2).Select
2. Các ví dụ về Offset trong VBA
Thuộc tính Offset được sử dụng để trả về một ô hoặc một dải ô, liên quan đến một ô hoặc dải ô được chỉ định.
Sử dụng Offset với Range
Bạn có thể sử dụng đoạn code sau: Sử dụng đối tượng Range và thuộc tính Offset để chọn ô B2, nếu ô A1 là mốc:
Range("A1").Offset(1, 1).Select
Sử dụng Offset với Cells
Tương tự, bạn cũng có thể kết hợp Offset và Cells.
Cells(4, 4).Offset(-1, -1).Select
Sử dụng Offset với một dãy ô
Những ví dụ trên thì điểm mốc là một ô nên rất dễ dàng. Nhưng trường hợp bạn có điểm mốc là một dãy ô thì sao nhỉ? Rất đơn giản, nó sẽ lấy ô đầu tiên trong dãy làm điểm mốc.
Ví dụ: Điểm mốc là A1:A5
Range("A1:A5").Offset(7, 3).Select
Kết quả Range(“D8:D12”)
sẽ được chọn.
Trên là cách sử dụng thuộc tính Offset trong VBA, đây là thuộc tính dùng để chọn một dãy ô dựa vào một dãy ô khác (ta gọi là điểm mốc).
Qua bài này hy vọng bạn hiểu hoàn toàn về cách dùng Offset VBA. Chúc bạn thành công.
Danh sách bài tập
- Thiết lập giá trị cho một ô Excel bằng VBA
- Thiết lập công thức cho các ô Excel bằng VBA
- Viết thủ công thêm sự kiện click vào một Button VBA
- Thực hành Cut- Copy - Paste các ô Excel bằng VBA
- Cách sử dụng thuộc tính Select VBA để chọn phạm vi các ô Excel
- Sử dụng Offset trong VBA để chọn một ô hoặc dãy ô Excel
- Thuộc tính Resize Range trong VBA - thay đổi kích thước của phạm vi