Giúp sửa code Bị lỗi Out of memory khi Biến A >=560.000

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

quochuy2022

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
21/11/22
Bài viết
20
Được thích
-1
Chào GPE !. Tôi có sử dụng code Bên dưới để lọc dữ liệu từ Sheet data , Tại biến A (ô M5 ) khi giá trị >=560.000 thì code vẫn chạy được 4 5 lần sau đó chạy tiếp thì hiện lỗi Out of memory, Và báo lỗi tại dòng sArr = Sheets("data").Range("AA1:AQ" & a).Value . Nhờ mọi người sửa lại code hoặc chuyển sang 1 dạng thuật toán mới để không bị lỗi Out of memory. Tôi xin chân thành cảm ơn


Mã:
Sub locdulieu()
Application.ScreenUpdating = False
On Error Resume Next
Dim sArr(), dArr(), I As Long, K As Long, R As Long, Col As Long, a As Long, Dk1 As String, xx As Long
a = Range("m5").Value
Dk1 = Range("a2").Value
sArr = Sheets("data").Range("AA1:AQ" & a).Value
R = UBound(sArr)
ReDim dArr(1 To R, 1 To 19)
For I = 1 To R
    If (UCase(sArr(I, 9)) = UCase(Dk1) Or UCase(sArr(I, 9)) Like UCase(Dk1) & "-*") Then
        K = K + 1
        dArr(K, 1) = sArr(I, 2) & " x " & sArr(I, 9)
            For Col = 2 To 18
                dArr(K, Col) = sArr(I, Col - 1)
            Next Col
        dArr(K, 19) = sArr(I, 2) & " x " & sArr(I, 9)
    End If
Next I
Range("R2:BC260000,BD3:BG260000,A4:K1003").ClearContents
Range("R2").Resize(K, 19) = dArr
Application.ScreenUpdating = True

End Sub
 
PHP:
 sArr = Sheets("data").Range("AA1:AQ" & a).Value
Bạn thử sửa .Value thành .Value2
p/s: Lý do mình đoán là trong khi nạp dữ liệu có ngày tháng, dạng tiền, định dạng thì hay bị lỗi tràn bộ nhớ.

The only difference between this property and the Value property is that the Value2 property doesn't use the Currency and Date data types. You can return values formatted with these data types as floating-point numbers by using the Double data type.

 
Lần chỉnh sửa cuối:
Upvote 0
PHP:
 sArr = Sheets("data").Range("AA1:AQ" & a).Value
Bạn thử sửa .Value thành .Value2
p/s: Lý do mình đoán là trong khi nạp dữ liệu có ngày tháng, dạng tiền, định dạng thì hay bị lỗi tràn bộ nhớ.

The only difference between this property and the Value property is that the Value2 property doesn't use the Currency and Date data types. You can return values formatted with these data types as floating-point numbers by using the Double data type.

Cảm ơn bạn !
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom