Ta cần xác định vùng cần chuyển thành mảng
Ví dụ có dữ liệu
A | B | C | D |
1 | Mã | Tên | Lớp |
2 | hv01 | Tran A | Lap trinh C |
3 | hv02 | Le C | JSon |
4 | hv03 | Thi Hoa | SQL Server |
Dim arr As Variant
arr = Range("B2:D4").Value
Như vậy dữ liệu vùng B2 đến D4 đã thành 1 mảng arr
Để code vba excel linh hoạt hơn ta sử dụng hàm lấy dòng đầu và dòng cuối
Dim arr As Variant
Row_start = ActiveSheet.Cells.Find("*", SearchOrder:=xlByColumns, SearchDirection:=xlNext).Row + 1
Row_end = ActiveSheet.Cells.Find("*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Row
arr = Range("B" & Row_start & ":B" & Row_end).Value
Code đẩy đủ chuyển vùng thành mảng vba excel
Dim arr As Variant
Row_start = ActiveSheet.Cells.Find("*", SearchOrder:=xlByColumns, SearchDirection:=xlNext).Row + 1
Row_end = ActiveSheet.Cells.Find("*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Row
arr = Range("B" & Row_start & ":B" & Row_end).Value
For i = 1 To UBound(arr)
MsgBox arr(i, 1)
Next
Chuyển vùng thành mảng trong VBA Excel