Hỏi về cách xóa dữ liệu nhanh (1 người xem)

Liên hệ QC

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

hiepga2612

Thành viên mới
Tham gia
3/4/16
Bài viết
15
Được thích
1
Như tiêu đề thì mính muốn xóa dữ liệu nhanh, nhưng kiến thức VBA mình chỉ mới chập chững, chỉ biết dùng qanh quẩn mấy cái If,While,... nói chung là lập trình đơn giản
Mình cũng có viết 1 cái code để xóa rồi nhưng chạy rất lâu và năng đối vs việc xử lý dữ liệu nhìu lên 1k 2k thậm chí là 10k như ví dụ cái code mình đã viết dưới đây, mình muốn xóa dữ liệu cột từ cột A(i) cho đến cột O(i)

Mã:
Private Sub XoaDL_Click()i = 10
    While Sheet5.Cells(i, "A") <> ""
    Sheet5.Cells(i, "A") = ""
    Sheet5.Cells(i, "B") = ""
    Sheet5.Cells(i, "C") = ""
    Sheet5.Cells(i, "D") = ""
    Sheet5.Cells(i, "E") = ""
    Sheet5.Cells(i, "F") = ""
    Sheet5.Cells(i, "G") = ""
    Sheet5.Cells(i, "H") = ""
    Sheet5.Cells(i, "I") = ""
    Sheet5.Cells(i, "J") = ""
    Sheet5.Cells(i, "K") = ""
    Sheet5.Cells(i, "L") = ""
    Sheet5.Cells(i, "M") = ""
    Sheet5.Cells(i, "N") = ""
    Sheet5.Cells(i, "O") = ""
        i = i + 1
    Wend
End Sub
 
range("a1":"o10").clearcontents
xóa từ vùng A1:O10 phải không?
 
Upvote 0
Như tiêu đề thì mính muốn xóa dữ liệu nhanh, nhưng kiến thức VBA mình chỉ mới chập chững, chỉ biết dùng qanh quẩn mấy cái If,While,... nói chung là lập trình đơn giản
Mình cũng có viết 1 cái code để xóa rồi nhưng chạy rất lâu và năng đối vs việc xử lý dữ liệu nhìu lên 1k 2k thậm chí là 10k như ví dụ cái code mình đã viết dưới đây, mình muốn xóa dữ liệu cột từ cột A(i) cho đến cột O(i)

Mã:
Private Sub XoaDL_Click()i = 10
    While Sheet5.Cells(i, "A") <> ""
    Sheet5.Cells(i, "A") = ""
    Sheet5.Cells(i, "B") = ""
    Sheet5.Cells(i, "C") = ""
    Sheet5.Cells(i, "D") = ""
    Sheet5.Cells(i, "E") = ""
    Sheet5.Cells(i, "F") = ""
    Sheet5.Cells(i, "G") = ""
    Sheet5.Cells(i, "H") = ""
    Sheet5.Cells(i, "I") = ""
    Sheet5.Cells(i, "J") = ""
    Sheet5.Cells(i, "K") = ""
    Sheet5.Cells(i, "L") = ""
    Sheet5.Cells(i, "M") = ""
    Sheet5.Cells(i, "N") = ""
    Sheet5.Cells(i, "O") = ""
        i = i + 1
    Wend
End Sub
Bạn thử với:
HTML:
Sheet5.Cells(i,"A").Resize(10,15).ClearContents
 
Upvote 0
Bạn thử với:
HTML:
Sheet5.Cells(i,"A").Resize(10,15).ClearContents

Mình thử nhưng ko thấy hiện gì cả bạn
Tiện thể cho mình hỏi bạn có thể giải thíc cặn kẽ cái code bạn đưa minh có nghĩa là gì ko vậy ?
Mà lần sau nữa bạn có rep kiểu Code thì bạn Copy phần code của mình và sửa lại full luôn nha chứ đưa câu lệnh vậy mình ko biết xài sao hết ~~
 
Upvote 0
Ý nghĩa nó thế này:
+ Tại dòng i, cột A dịch chuyển xuống dưới 10 dòng và sang phải 15 cột( Cột O).
Bạn muốn xóa dữ liệu của bạn như thế nào, hãy gửi File giả lập lên đây. Các thành viên sẽ nhanh chóng có câu trả lời giúp bạn.
 
Upvote 0
Ý nghĩa nó thế này:
+ Tại dòng i, cột A dịch chuyển xuống dưới 10 dòng và sang phải 15 cột( Cột O).
Bạn muốn xóa dữ liệu của bạn như thế nào, hãy gửi File giả lập lên đây. Các thành viên sẽ nhanh chóng có câu trả lời giúp bạn.

Mình hiểu ý bạn rồi cảm ơn bạn, code mình viết như bên dưới ko biết có đúng ko nhưng ko thấy nó hoạt động, khi click vào nút ko thấy gì hết ~~

Private Sub xoaDL_Click()
i = 10
While Sheet5.Cells(i, "A") <> ""
i = i + 1
Sheet5.Cells(i, "A").Resize(10, 15).ClearContents
Wend
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn sửa lại thành:
Mã:
Sub XoaDL_Click()
    Dim i&
    Application.ScreenUpdating = False
    With Sheet5
        i = 10
        While .Cells(i, 1) <> ""
            i = i + 1
        Wend
        If i > 10 Then .Range("A10", .Cells(i - 1, "O")).ClearContents
    End With
    Application.ScreenUpdating = True
End Sub
Nếu tốc độ vẫn chưa được thì đưa cột A vào array để xét.
 
Upvote 0
Bạn sửa lại thành:
Mã:
Sub XoaDL_Click()
    Dim i&
    Application.ScreenUpdating = False
    With Sheet5
        i = 10
        While .Cells(i, 1) <> ""
            i = i + 1
        Wend
        If i > 10 Then .Range("A10", .Cells(i - 1, "O")).ClearContents
    End With
    Application.ScreenUpdating = True
End Sub
Nếu tốc độ vẫn chưa được thì đưa cột A vào array để xét.

Good Good code này hoạt động tốt, nhanh + ko bị treo tks cậu nhé :")
 
Upvote 0
Web KT

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

Back
Top Bottom