Code ẩn dòng theo điều kiện (1 người xem)

Liên hệ QC

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

Excel365

Thành viên tích cực
Tham gia
29/10/10
Bài viết
865
Được thích
127
Giới tính
Nam
Tình hình là trước đây em tìm được 1 code trên GPE (lâu quá em ko nhớ ở topic nào nữa, mong tác giả của code thông cảm)
Do dữ liệu của em nhiều quá ( mỗi sheet >1000 dòng), file của em gần 40 sheet như vậy. Mỗi lần chạy code thì đợi rất là lâu. Nay em muốn nhờ các anh, chị giúp em cải thiện cho code chạy nhanh hơn.
Trân trọng!
 

File đính kèm

Tình hình là trước đây em tìm được 1 code trên GPE (lâu quá em ko nhớ ở topic nào nữa, mong tác giả của code thông cảm)
Do dữ liệu của em nhiều quá ( mỗi sheet >1000 dòng), file của em gần 40 sheet như vậy. Mỗi lần chạy code thì đợi rất là lâu. Nay em muốn nhờ các anh, chị giúp em cải thiện cho code chạy nhanh hơn.
Trân trọng!

bạn dùng thử code sau nhé !

tại Module1:
Mã:
Sub HideRows(list As Range)
Dim cellsToHide As Range
Dim cell As Range

    Set cellsToHide = Nothing
    
    Application.ScreenUpdating = False
        For Each cell In list
        If cell.Value <> "In" Then
            If cellsToHide Is Nothing Then
                Set cellsToHide = cell
            Else
                Set cellsToHide = Union(cellsToHide, cell)
            End If
        End If
        Next cell
        
        cellsToHide.EntireRow.Hidden = True
    Application.ScreenUpdating = True
End Sub

tại sheet 1
' An dong
Mã:
Private Sub Cmd15_Click()
Dim rng As Range
    If Cmd15.Caption = "An dong" Then
        Set rng = Range([j24], [j65536].End(xlUp))
        Call HideRows(rng)
        Cmd15.Caption = "Bo An dong"
        Set rng = Nothing
    Else
        Cells.EntireRow.Hidden = False
        Cmd15.Caption = "An dong"
    End If
End Sub

mình đã test và thấy tốc độ nhanh hơn vài s đó :-=
 
Upvote 0

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

Back
Top Bottom