Nhờ Các Anh chỉnh sữa đoạn code sau sai chỗ nào. (2 người xem)

  • Thread starter Thread starter lhthai
  • Ngày gửi Ngày gửi
Liên hệ QC

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

lhthai

Thành viên thường trực
Tham gia
1/9/07
Bài viết
309
Được thích
27
Hiện tại mình có đoạn code copy giữ liệu từ sheet 3 qua sheet1
Nếu để Resize(, 24) nhỏ hơn 24 thì có chạy bình thường còn nếu lớn hơn thì báo lỗi
Mã:
Private Sub CommandButton1_Click()
Dim Arr(), Darr(), I As Long, J As Long, K As Long
    Application.ScreenUpdating = False
  
    With Sheet3
       Arr = .Range("B3", .[B65536].End(xlUp)).Resize(, 24).Value
    End With
    ReDim Darr(1 To UBound(Arr, 1), 1 To 9)
    For J = 5 To UBound(Arr, 2)
       For I = 8 To UBound(Arr)
           If Arr(I, J) > 0 Then
             K = K + 1
              Darr(K, 1) = Arr(2, J) 
             Darr(K, 2) = Arr(5, J)
             Darr(K, 3) = Arr(2, J) & " " & Arr(5, J)
             Darr(K, 4) = Arr(I, 1)
             Darr(K, 5) = Arr(I, 2)
             Darr(K, 6) = Arr(I, J)
             Darr(K, 7) = Arr(1, J) * Arr(I, J)
             Darr(K, 8) = Arr(I, 3)
             Darr(K, 9) = Arr(I, 4)
           End If
       Next
    Next
    Sheets("TOTAL").Range("B7:J65000").ClearContents
    Sheets("TOTAL").[B60000].End(3)(2).Resize(K, 9) = Darr
     Application.ScreenUpdating = True
End Sub
 

File đính kèm

Hiện tại mình có đoạn code copy giữ liệu từ sheet 3 qua sheet1
Nếu để Resize(, 24) nhỏ hơn 24 thì có chạy bình thường còn nếu lớn hơn thì báo lỗi
ReDim Darr(1 To UBound(Arr, 1), 1 To 9)
bạn kiểm tra cái này nha UBound(Arr, 1) theo kết quả là 1061
nếu J =24 thì k = 1062 => dòng lệnh bên dưới có vấn đề
Darr(K, 1) = Arr(2, J)?????
 
Upvote 0
Web KT

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

Back
Top Bottom