NTM Solutions

Facebook Youtube Google+

Thứ Tư, 19 tháng 7, 2017

VBA Macro - Bài 04 - Đối tượng Range vs Cells

Quay về mục lục VBA Macro

****Range là gì? Range và Cells khác nhau ra sao?
+ Đối tượng Range là đối tượng hay sử dụng nhất trong Excel VBA.
+ Range dùng để thao tác trên 01 ô hay 01 nhóm ô Excel
Ví dụ:
Gán giá trị ô A1 là 10 => Gõ code: Range(“A1”).value = 10
Gán giá trị cho A1:C3 là 10 => Gõ code: Range(“A1:C3”).value = 10
Các bạn chạy lệnh và xem kết quả nhé.
+ Cells là thuộc tính (properties) của Range dùng để chỉ tọa độ 01 ô trong vùng Range.Nếu không ghi rõ vùng range thì mặc định VBA sẽ chọn range=”toàn bộ ActiveSheet”=>tọa độ của Cells sẽ bắt đầu từ vị trí dòng 01 cột 01=>Cells(dòng,cột)
Ví dụ:
Gán giá trị 10 cho ô A2 => Gõ code: Cells(2,1).value = 10
Gán giá trị 10 cho ô đầu tiên trong vùng A1:C5=> Gõ code: Range(“A1:C5”).Cells(1,1).value = 10
+ Do Cells có thuộc tính tọa độ là các số nên thường được dùng cho các vòng lặp

****01 số cách sử dụng đối tượng Range****

01 – Gán giá trị value
Ví dụ: Range(A1:C2).Value = 15

02 – Tạo vùng chọn Select
Ví dụ: Range(A1:C2).Select
Chú ý: để thao tác câu lệnh Select các bạn phải thiết lập Activate cho sheet chứa vùng đó(nếu không phải là ActiveSheet.
03 - Thiết lập 01 vùng bằng cú pháp Set
Ví dụ: gán giá trị 10 cho vùng A1:C5
Dim rng as Range
Set rng = Range(“A1:C5”)
rng.Value = 10

04 – Chọn nguyên dòng nguyên cột
Ví dụ: Chọn nguyên dòng số 3
Dim rng as Range
Set rng = Range(“A1:C5”)
rng.Rows(3).Select

Chọn nguyên cột số 2
Dim rng as Range
Set rng = Range(“A1:C5”)
rng.Columns(2).Select

05 – Copy/PasteSpecial
Ví dụ:
Range(“A1:C5”).Copy
Range(“E3”).PasteSpecial

06 – ClearContents
Ví dụ:
Range(“A1:C5”).ClearContents

07 – Đếm ô,dòng, cột
Ví dụ:
Đếm ô: MsgBox Range(“A1:C5”).Count
Đếm dòng: MsgBox Range(“A1:C5”).Rows.Count
Đếm cột: MsgBox Range(“A1:C5”).Columns.Count

Ngoài ra còn 01 số phương thức và thuộc tính khác hay xài như:
CurrentRegion (chọn khối vùng lân cận), Offset (dịch chuyển), EntireColumn (chọn nguyên cột), EntireRow (chọn nguyên dòng)

Nếu chưa hiểu các bạn xem video clip sau đây: