Nhờ các cao nhân chỉ giúp đoạn code tách dữ liệu bằng biến mảng ạ.

Em có đoạn code sau mà chạy toàn báo lỗi.
Các bác chỉ giúp em là sai ở đâu ạ.
Em cảm ơn ạ !
Mã:
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:p" & lr).Value
ReDim Frame(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
        Frame(a, j) = arr(i, j)
  
        Else
  
        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)
            j = j + 1

End If
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
 
Top