Monday, December 28, 2015

Thuộc tính Offset và Resize

Ví dụ : Range("A1").Offset(RowOffset:=1, ColumnOffset:=1).Select
Tức là : Chọn vào vị trí dịch 1 cột sang phải và 1 dòng xuống dưới so với ô A1
Nếu chỉ muốn dịch chuyển xuống 1 dòng so với A1
Range("A1").Offset(1).Select
Nếu muốn dịch sang ô B1
Range("A1").Offset(,1).Select


Offset đơn thuần là sự dịch chuyển đối tượng lệch trục.
Còn với Resize, chúng ta sẽ thay đổi vùng chọn ban đầu bằng cách thêm ô hay cột cho nó kể từ dùng dữ liệu đầu tiên được chọn.
Chúng ta cùng xem xét ví dụ sau :
Range("A1").Resize(RowSize:=2, ColumnSize:=2).Select
Tức là : Chọn một vùng dữ liệu bắt đầu từ ô A1 và có số dòng là 2 và số cột là 2, tức là vùng dữ liệu A1:B2
Chú ý : 
Offset thì là RowOffset = ...., Resize là RowSize=...
Giá trị thông số của Resize không có giá trị âm

Chúng ta có thể viết tắt như sau:
Range("A1").Resize(2,2).Select
Nếu chỉ chỉnh thêm cột mà không thêm dòng
Range("A1").Resize(2).Select
Thêm dòng mà không muốn thêm cột:
Range("A1").Resize(,2).Select

Nếu chọn A1:A3 làm đối tượng cho Range thì Resize luôn ưu tiên chọn ô đầu tiên là ô A1
Có thể áp dụng Offset và Resize trên cùng 1 câu lệnh

No comments:

Post a Comment