- 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