phungvanton
Thành viên mới

- Tham gia
- 17/7/12
- Bài viết
- 37
- Được thích
- -3
Dear các anh chị !
em có 1 sub tách dữ liệu như sau dùng biến mảnh như dưới đây. Nhưng khi chạy code thì máy báo " complie error Next with out For"
Các cao nhân chỉ giúp em code bị sai ở đâu ạ. Em cảm ơn ạ !
Sub tachdulieu()
Dim arr()
Dim i As Long, a As Long, b As Long, c As Long, lr As Long, j As Long
Dim Frame
Dim Pemnut
Dim Pcm
lr = Sheet6.Cells(Rows.Count, 1).End(xlUp).Row
arr = Sheet6.Range("A1
" & lr).Value
ReDim Tape(1 To UBound(arr, 1), 1 To 16)
ReDim Pemnut(1 To UBound(arr, 1), 1 To 16)
ReDim Pcm(1 To UBound(arr, 1), 1 To 16)
For i = 1 To UBound(arr, 1)
For j = 1 To 16
If arr(i, 7) = "Frame Assembly" Then
a = a + 1
Tape(a, j) = arr(i, j)
If arr(i, 7) = "Pem nut" Then
b = b + 1
Pemnut(b, j) = arr(i, j)
Else
c = c + 1
Pcm(c, j) = arr(i, j)
End If
Next j
Next i
Sheet8.Range("A1").Resize(a, 16) = Frame
Sheet8.Range("r1").Resize(b, 16) = Pemnut
Sheet8.Range("bb1").Resize(c, 16) = Pcm
End Sub
em có 1 sub tách dữ liệu như sau dùng biến mảnh như dưới đây. Nhưng khi chạy code thì máy báo " complie error Next with out For"
Các cao nhân chỉ giúp em code bị sai ở đâu ạ. Em cảm ơn ạ !
Sub tachdulieu()
Dim arr()
Dim i As Long, a As Long, b As Long, c As Long, lr As Long, j As Long
Dim Frame
Dim Pemnut
Dim Pcm
lr = Sheet6.Cells(Rows.Count, 1).End(xlUp).Row
arr = Sheet6.Range("A1

ReDim Tape(1 To UBound(arr, 1), 1 To 16)
ReDim Pemnut(1 To UBound(arr, 1), 1 To 16)
ReDim Pcm(1 To UBound(arr, 1), 1 To 16)
For i = 1 To UBound(arr, 1)
For j = 1 To 16
If arr(i, 7) = "Frame Assembly" Then
a = a + 1
Tape(a, j) = arr(i, j)
If arr(i, 7) = "Pem nut" Then
b = b + 1
Pemnut(b, j) = arr(i, j)
Else
c = c + 1
Pcm(c, j) = arr(i, j)
End If
Next j
Next i
Sheet8.Range("A1").Resize(a, 16) = Frame
Sheet8.Range("r1").Resize(b, 16) = Pemnut
Sheet8.Range("bb1").Resize(c, 16) = Pcm
End Sub