diemhuyenanh
Thành viên hoạt động



- Tham gia
- 6/9/09
- Bài viết
- 167
- Được thích
- 58






trong file đính kèm mình dùng 2 vòng lập for each và for i trên 2 thu tục khác nhau để sử lý một vấn đề nhưng không hiểu sao vòng lập for each cho tốc độ sự lý chậm hơn rất nhiều so với vòng lập for i . Bạn nào có thể giải thích hộ mình với.
lastRow = Sheet1.Range("G65536").End(4).Row
Set Arr = Sheet1.Range("G3:G" & lastRow)
lastRow = Sheet1.Range("G65536").End(xlUp).Row
Arr = Sheet1.Range("G3:H" & lastRow).Value






khác biệt 1 phần là do 2 code của bạn khác biệt , mình đã nói ở trên là : giá trị Arr mà bạn tạo ra trong 2 code khác nhau cả về chất và lương,do đó không thể so sánh kiểu này được :mình mới biết về vba cho nên mình cũng không hiểu bản chất của 2 vòng lập trên.
trong vòng lập for each mình dùng mảng 1 chiều
còn for next mình dùng mảng 2 chiều.
vậy tại sao lại có sự khác biệt như vậy
Msgbox Arr.rows.count
Msgbox Ubound(Arr,1)



