Cách tốt nhất để tham chiếu tới một vùng trong Excel VBA là gì? Câu trả lời là phụ thuộc vào mục tiêu của người dùng. Có nhiều cách khác nhau để tham chiếu tới một vùng trong VBA. Khi sử dụng chức năng Record Macro thì khi chọn bất kỳ vùng nào đều để lại câu lệnh
‘vùng được chọn’.Select
Tuy nhiên khi làm việc trực tiếp trên VBA chúng ta không cần thiết phải lựa chọn vùng đó (.Select) rồi mới làm việc với nó, mà có thể làm việc trực tiếp được.
Trong bài viết này chúng ta sẽ tìm hiểu các cách thức tạo tham chiếu đến vùng, ô trong Excel thường gặp:
Xem nhanh
Cách thứ 1: Sử dụng tham chiếu cụ thể tới 1 cell
Tên Sheet.Cells(số hàng, số cột).thuộc tính cụ thể
Ví dụ: Sheet1.Cells(1, 1).value = 123
Câu lệnh được hiểu là: Giá trị của ô có vị trí tại cột 1, hàng 1 trong Sheet1 (ô A1 trong Sheet1) có giá trị là 123
Cách thứ 2: Sử dụng tham chiếu bằng tên của ô đặt trong dấu ngoặc vuông
[Vị trí ô]
Ví dụ: [A1] = 123
Câu lệnh được hiểu là: giá trị của ô có vị trí A1 có giá trị bằng 123
So sánh 2 cách:
Cách 2 sử dụng nhanh hơn với những vị trí đã được xác định cụ thể và ít thay đổi. Tuy nhiên nếu vị trí đó có thể thay đổi tùy điều kiện thì lại không sử dụng được.
Cách 1 tuy phức tạp hơn, khó nhớ hơn nhưng lại giúp chúng ta có thể sử dụng trong trường hợp vị trí có thể thay đổi theo điều kiện hàng, cột.
Ví dụ: Gán nội dung ở vị trí cột B, tương ứng với dòng cuối cùng có chứa dữ liệu trong cột A giá trị là 123
Sub Test()
Dim lr as longlr=range(“A” & rows.count).end(xlup).row
Cells(lr, 2).value=123
End Sub
Như vậy ở đây ta không thể biết chắc vị trí có dòng cuối có chứa dữ liệu ở cột A là dòng nào, nên có thể sử dụng biến lr (LastRow) để tìm dòng cuối ở cột A, sau đó đưa biến đó vào câu lệnh Cells cho cột B (cột thứ 2)
Tham chiếu tới 1 vùng thường sử dụng cách thức sau:
‘Tên sheet’.Range(“Vùng tham chiếu”)
Ví dụ về tham chiếu tới vùng cô định:
Ví dụ về tham chiếu tới vùng không cố định:
Sub Test()
Dim lr as long
lr=range(“A” & rows.count).end(xlup).row
Range(“B2:B” & lr).value=123.value=123
End Sub
ở đây vùng “B2:B” & lr là vùng từ ở cột B, từ dòng thứ 2 tới dòng cuối cùng có chứa dữ liệu ở cột A
Như vậy chúng ta đã nắm được cách tham chiếu thường dùng trong VBA rồi, đón xem các bài học tiếp theo trong blog.hocexcel.online bạn nhé.
Chúc các bạn học tốt cùng Học Excel Online!