E muốn lấy data từ sheet raw data qua sheet khác mà VBA chạy lỗi (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Pham Van Thuy ERP

Thành viên mới
Tham gia
23/8/22
Bài viết
1
Được thích
0
Mọi người cho em hỏi em muốn lấy data từ sheet raw data qua sheet khác mà VBA chạy lỗi em không biết sai ở đâu nhờ mọi người sửa giúp e

Sub processRawdata()

Dim arrayRawdata(), arrayData()
Dim cotCuoirawdata, count As Long

Sheet2.Range("A2:M1000000").Clear

cotCuoirawdata = Sheet1.Range("A6").End(xlDown).Row

ReDim arrayData(1 To cotCuoirawdata - 2, 1 To 13)
arrayRawdata = Sheet1.Range("A6:T" & cotCuoirawdata).Value
count = 0
For i = 7 To cotCuoirawdata


count = count + 1
arrayData(count, 1) = arrayRawdata(i, 2) 'ma phieu
arrayData(count, 2) = arrayRawdata(i, 5) 'ngay lap
arrayData(count, 3) = arrayRawdata(i, 6) 'nguoi lap
arrayData(count, 4) = arrayRawdata(i, 9) 'ma hang
arrayData(count, 5) = arrayRawdata(i, 10) 'mat hang
arrayData(count, 6) = arrayRawdata(i, 12) 'don vi tinh
arrayData(count, 7) = arrayRawdata(i, 14) 'sl nhu cau
arrayData(count, 8) = arrayRawdata(i, 15) 'sl mua
arrayData(count, 9) = arrayRawdata(i, 19) 'sl nhap mua
'arrayData(count, 10) = arrayRawdata(i, 0) 'chenh lech
arrayData(count, 11) = arrayRawdata(i, 17) 'ngay len don hang
arrayData(count, 12) = arrayRawdata(i, 18) 'ngay du kien nhap hang
arrayData(count, 13) = arrayRawdata(i, 11) 'ghi chu


'-------------------------- chay dieu kien
If arrayData(count, 10) = (arrayRawdata(i, 14) - arrayRawdata(i, 14) = 0) Then
arrayData(count, 10) = "Da nhap du so luong" 'da nhap du so luong
ElseIf arrayData(count, 10) = (arrayRawdata(i, 14) - arrayRawdata(i, 14) > 0 < arrayRawdata(i, 14)) Then
arrayData(count, 10) = "Chua nhap du so luong" 'chua nhap du so luong
ElseIf arrayData(count, 10) = arrayRawdata(i, 14) Then
arrayData(count, 10) = "Chua tao don mua hang" 'Chua tao don mua hang
End If



Next
Sheet2.Range("A2:M" & (cotCuoirawdata - 2)).Value = arrayData



End Sub





loi.jpg
 
"Em" thì viết hẳn ra là Em, E với ấp.
Code bản chất là nhiều từ viết tắt. Bi giò nói chuyện cũng viết tắt thì bắt người ta phải đoán phân biệt nói chuyện và code sao?

arrayRawdata = Sheet1.Range("A6:T" & cotCuoirawdata).Value
===> UBound của arrayRawdata là cotCuoirawdata - 5

For i = 7 To cotCuoirawdata
...
arrayData(count, 1) = arrayRawdata(i, 2) 'ma phieu
===> khi i = cotCuoirawdata - 4 thì sẽ bị lỗi "subscript out of range"
 
Web KT

Bài viết mới nhất

Back
Top Bottom