Khái niệm Cấu trúc Ta sẽ có một số {Thuộc tính} thường dùng như sau: Tuỳ theo thuộc tính, Chúng ta có thể gán giá trị trực tiếp cho nó hoặc kiểm tra xem nó bằng bao nhiêu, VD như thuộc tính Value, Ta vừa có gán trực tiếp cho nó vừa có thể kiểm tra xem nó bằng bao nhiêu. Nhưng đối với thuộc tính Row,
ta chỉ có thể kiểm tra mà không thể gán giá trị cho nó. Ta sẽ xét VD sau đây: Lấy giá trị trong Range vào mảng Cells VD: Ta muốn khai báo biến A sẽ bằng ô C3 trong hình. Giả sử, Sheet trong hình đang là Sheet1
Range là một vùng dữ liệu trong các Sheet. Chúng ta lấy ví dụ:
Tại đây, chúng ta muốn lấy vùng dữ liệu từ A2:C4 để xử lý trong VBA. Lúc này, A2:C4 là một Range
Application.{Workbook}.Sheets({Tên Sheet}).Range({Vùng dữ liệu}).{Thuộc tính}
Các cấu trúc tô đỏ là bắt buộc cần có.
Gán giá trị cho Range
Cell có thể hiểu là 1 ô, mỗi 1 Cell chỉ đại diện một ô duy nhất. Nhiều Cell liên tiếp tập hợp lại sẽ thành 1 Range. Cell được xác định bằng số dòng và số cột trong Sheet. Tương tự như Range, Cell có cấu trúc như sau:
Application.{Workbook}.Sheets({Tên
Sheet}).Cells({Dòng}, {Cột}).{Thuộc tính}
Ô C3 nằm ở vị trí, dòng số 3 và cột số 3 (Cột C). Ta có code như sau:
Bên cạnh đó, ta hoàn toàn có thể viết Range như một Cell
Các cách viết Range
Trước khi đi tiếp ta
cần phân biệt 2 khái niệm: Sheet hiện hành và Sheet xử lý:
- Sheet hiện hành: Là Sheet đang xuất hiện trên màn hình Excel mà bạn đang thao tác
- Sheet xử lý: Là Sheet xử lý dữ liệu, Sheet xử lý có thể là Sheet hiện hành hoặc bất cứ Sheet nào được khai báo.
Nếu bạn muốn xử lý dữ liệu ở Sheet hiện hành (Sheet bạn đang thao tác) thì cấu trúc code bạn có thể bỏ cấu trúc trước Range:
Range({Vùng dữ liệu}).{Thuộc tính}
Hoặc muốn nhanh hơn bạn có thể viết
[{Vùng dữ liệu}].{Thuộc tính}
VD: Bạn muốn chọn ô A1 tại Sheet hiện hành
Lưu ý: {Vùng dữ liệu} lúc này không nằm trong dấu ""
Tổng kết
Không khó phải không nào, bạn đã hiểu hết về
Range chưa, cho mình biết nhé.
- Dán lên cao
- CHE
- 05/05/2022