em có đoạn code sau! khi chạy code nó cứ nháy nháy tính toán, nhờ các a thêm code loạ (1 người xem)

Liên hệ QC

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

alibaba2209

Thành viên thường trực
Tham gia
4/12/10
Bài viết
283
Được thích
13
em có đoạn code sau! khi chạy code nó cứ nháy nháy tính toán, nhờ các a thêm code loại bỏ tính toán

Sub xxxx()
Dim arr, arrF, arrH, ar As Variant, i, f, h As Long


Union(Sheets("Dau ra nhat ky").[F2:F9999], Sheets("Dau ra nhat ky").[H2:H9999]).ClearContents 'Xoa giu lieu vung
arr = Sheets("Dau ra nhat ky").[E2:G9999] 'Vùng giu lieu E bat dau la cot 1
ReDim arrF(1 To UBound(arr), 1 To 1), arrH(1 To UBound(arr), 1 To 1)
For i = 1 To UBound(arr)
If arr(i, 1) <> "" Then f = f + 1: arrF(f, 1) = arr(i, 1) 'Cot lay giu lieu E cho F la cot 1
If arr(i, 3) <> "" Then h = h + 1: arrH(h, 1) = arr(i, 3) 'Cot lay giu lieu G cho H la cot 3
Next
Sheets("Dau ra nhat ky").[F2:F9999] = arrF 'Chuyen giu lieu sang vung
Sheets("Dau ra nhat ky").[H2:H9999] = arrH


End Sub
 
Mã:
Sub xxxx()
application.ScreenUpdating=false
....
application.ScreenUpdating=true
end sub
 
Upvote 0
chạy nó vẫn nháy nháy ầm ầm bạn ạ!

bạn cho vào thế nào mà nháy?

Thay bằng code sau xem sao, ở đây giả định cột E là cột đầy đủ dữ liệu nhất (luôn có dữ liệu cuối cùng trong E F G) - xem và tự hiểu code thay đổi thế nào. Còn nháy không??????

PHP:
Sub xxxx()
Dim arr, arrF, arrH, ar As Variant
Dim i as long , f as long , h As Long, n as long 

application.ScreenUpdating=false
with Sheets("Dau ra nhat ky")    ''gia dinh cot E la cot co du lieu day du
    arr = .range(.[E2],.[E9999].end(xlup).offset(,2)) ''Vùng giu lieu E bat dau la cot 1
end with
n=Ubound(arr)
ReDim arrF(1 To n, 1 To 1), arrH(1 To n, 1 To 1)

For i = 1 To n
    If arr(i, 1) <> "" Then f = f + 1: arrF(f, 1) = arr(i, 1) ''Cot lay giu lieu E cho F la cot 1
    If arr(i, 3) <> "" Then h = h + 1: arrH(h, 1) = arr(i, 3) ''Cot lay giu lieu G cho H la cot 3
Next
With Sheets("Dau ra nhat ky")
    .[F2:F9999].ClearContents
    .[H2:H9999].ClearContents
    .[F2].resize(f) = arrF ''Chuyen giu lieu sang vung
    .[H2].resize(h) = arrH
end with

application.ScreenUpdating=true
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Upvote 0
Upvote 0
bạn cho vào thế nào mà nháy?

Thay bằng code sau xem sao, ở đây giả định cột E là cột đầy đủ dữ liệu nhất (luôn có dữ liệu cuối cùng trong E F G) - xem và tự hiểu code thay đổi thế nào. Còn nháy không??????

PHP:
Sub xxxx()
Dim arr, arrF, arrH, ar As Variant
Dim i as long , f as long , h As Long, n as long 

application.ScreenUpdating=false
with Sheets("Dau ra nhat ky")    ''gia dinh cot E la cot co du lieu day du
    arr = .range(.[E2],.[E9999].end(xlup).offset(,2)) ''Vùng giu lieu E bat dau la cot 1
end with
n=Ubound(arr)
ReDim arrF(1 To n, 1 To 1), arrH(1 To n, 1 To 1)

For i = 1 To n
    If arr(i, 1) <> "" Then f = f + 1: arrF(f, 1) = arr(i, 1) ''Cot lay giu lieu E cho F la cot 1
    If arr(i, 3) <> "" Then h = h + 1: arrH(h, 1) = arr(i, 3) ''Cot lay giu lieu G cho H la cot 3
Next
With Sheets("Dau ra nhat ky")
    .[F2:F9999].ClearContents
    .[H2:H9999].ClearContents
    .[F2].resize(f) = arrF ''Chuyen giu lieu sang vung
    .[H2].resize(h) = arrH
end with

application.ScreenUpdating=true
End Sub
Vâng! em hiểu rồi.. chân thành cảm ơn anh
 
Upvote 0
lạ cái diễn đàn GPE này Amin, Amod đâu không hướng dẫn thành viên

Tôi thấy bạn mới lạ, đã biết là vi phạm nội quy thì không trả lời và bạn cũng có quyền nhắc người vi phạm nội quy chứ đâu cần Admin, Amod, còn tốt hơn hết là nêu rỏ vi phạm cái gì tại chỗ nào của nội quy, kèm theo là Link của nội quy để người vi phạm đọc và cùng hiểu.

Người ta vi phạm nội quy bạn lại không nhắc nhỡ, mà còn trả lời, chính bạn mới là người vi phạm nội quy. Bạn cũng đừng nên trách Admin, Amod vì người ta cũng là con người nên cũng cần có thời gian ngũ, nghĩ, vì vậy nên có chuyên mục "Bài viết vi phạm nội quy", để bất kỳ thành viên nào phát hiện ra bài viết vi phạm nội quy thì đăng bài và chỉ Link đến bài vi phạm để Admin, Amod biết mà xử lý cho nhanh để còn làm công việc khác.
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom