- Tham gia
- 17/8/08
- Bài viết
- 8,662
- Được thích
- 16,720
- Giới tính
- Nam
Tôi có thủ tục đưới đây, chạy được 1 vòng lặp đầu tiên, đến vòng 2 báo lỗi:
Lỗi phát sinh từ dòng màu đỏ, biết là do chỉ ReDim ở mảng 1 chiều thôi, qua vòng lặp tới mình đã Xóa mảng 1 chiều ở vòng lặp trước để lặp lại mảng 1 chiều mới, nhưng nó vẫn báo lỗi.
Tôi phải dùng thủ tục gì để giải quyết vấn đề đây?
Mã:
Sub ChangeArr()
Dim sArray, Arr, MyArr()
Dim i As Long, j As Long
sArray = Sheet1.Range("A2:G11").Value
For i = 1 To UBound(sArray, 1)
For j = 1 To 7
[COLOR=#ff0000][B]ReDim Preserve MyArr(i To j)[/B][/COLOR]
MyArr(j) = sArray(i, j)
Next j
Arr = MyArr
Sheet1.Range("J" & i).Resize(, 7).Value = Arr
[COLOR=#0000cd][B]Erase MyArr()[/B][/COLOR]
Next i
End Sub
Lỗi phát sinh từ dòng màu đỏ, biết là do chỉ ReDim ở mảng 1 chiều thôi, qua vòng lặp tới mình đã Xóa mảng 1 chiều ở vòng lặp trước để lặp lại mảng 1 chiều mới, nhưng nó vẫn báo lỗi.
Tôi phải dùng thủ tục gì để giải quyết vấn đề đây?