Khái niệm 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
Cấu trúc 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ó. - {Workbook}: Khai báo Workbook
- {Tên Sheet}: Tên Sheet
- {Vùng dữ liệu}: Là vùng Range bạn cần thao tác
- {Thuộc tính}: Các thuộc tính của Range bạn muốn thao tác
Ta sẽ có một số {Thuộc tính} thường dùng như sau: - Value: Giá trị của Range
- Address: Địa chỉ của Range, VD: $A$1:$B$6
- Interior.Color:
Giá trị màu nền RGB tại Range được chọn
- Font.Color: Giá trị màu chữ RGB tại Range
- Calculate: Tính toán công thức ngay lập tức
- ClearContents: Xoá toàn bộ nội dung Range
- Column: Trả về tổng số cột trong Range
- Row: Trả về tổng số hàng trong Range
- Count: Trả về tổng số ô
trong Range
- Merge: Merge vùng trong Range
- Copy: Copy toàn bộ Range
- Select: Chọn Range trên Sheet.
- ...
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: Gán giá trị cho Range Lấy giá trị trong Range vào mảng
Cells 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} - {Dòng}: Số dòng
- {Cột}: Số cột tính theo quy đổi A,B,C... tương ứng là 1,2,3...
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
Ô 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é.
Thẻ
cunghocexcel rangetrongvba |