Nhờ các bác giúp ẩn các dòng không có dữ liệu

Liên hệ QC

nguyet1982db

Thành viên chính thức
Tham gia
10/12/14
Bài viết
92
Được thích
4
Em có 1 bảng chấm công như file đính kèm giờ em muốn ẩn các dòng không có dữ liệu hoặc dữ liệu =0 tại ô AO11:AO28; em có dòng code trong sheet nhưng thấy nó chạy chậm quá, các bác có cách gì để file chạy nhanh hơn không ạ! Mong các bác giúp đỡ
Private Sub Worksheet_Activate()
Me.ScrollArea = "A10:AO28"
Dim Rng As Range
Application.ScreenUpdating = False
For Each Rng In [AO10:AO28]
If Rng.Value <> 0 Then
Rng.EntireRow.Hidden = False
Else
Rng.EntireRow.Hidden = True
End If
Next Rng
Application.ScreenUpdating = True
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:
Em có 1 bảng chấm công như file đính kèm giờ em muốn ẩn các dòng không có dữ liệu hoặc dữ liệu =0 tại ô AO11:AO28; em có dòng code trong sheet nhưng thấy nó chạy chậm quá, các bác có cách gì để file chạy nhanh hơn không ạ! Mong các bác giúp đỡ
Private Sub Worksheet_Activate()
Me.ScrollArea = "A10:AO28"
Dim Rng As Range
Application.ScreenUpdating = False
For Each Rng In [AO10:AO28]
If Rng.Value <> 0 Then
Rng.EntireRow.Hidden = False
Else
Rng.EntireRow.Hidden = True
End If
Next Rng
Application.ScreenUpdating = True
End Sub
Thử đoạn code này xem sao?
Mã:
Private Sub Worksheet_Activate()
Me.ScrollArea = "A10:AO28"
Dim Rng As Range, uRng As Range
Application.ScreenUpdating = False
[AO10:AO28].EntireRow.Hidden = True
For Each Rng In [AO10:AO28]
    If Rng.Value <> 0 Then
            If uRng Is Nothing Then
                Set uRng = Rng.Rows
            Else
                Set uRng = Union(uRng, Rng.Rows)
            End If
    End If
Next Rng
If Not uRng Is Nothing Then uRng.EntireRow.Hidden = False
Application.ScreenUpdating = True
End Sub
 
Upvote 0
Em có 1 bảng chấm công như file đính kèm giờ em muốn ẩn các dòng không có dữ liệu hoặc dữ liệu =0 tại ô AO11:AO28; em có dòng code trong sheet nhưng thấy nó chạy chậm quá, các bác có cách gì để file chạy nhanh hơn không ạ! Mong các bác giúp đỡ
Private Sub Worksheet_Activate()
Me.ScrollArea = "A10:AO28"
Dim Rng As Range
Application.ScreenUpdating = False
For Each Rng In [AO10:AO28]
If Rng.Value <> 0 Then
Rng.EntireRow.Hidden = False
Else
Rng.EntireRow.Hidden = True
End If
Next Rng
Application.ScreenUpdating = True
End Sub
Số dòng ít
Mã:
Private Sub Worksheet_Activate()
  Dim iCell As Range, Rng As Range
  Const Diachi As String = "AO10:AO28"
  Application.ScreenUpdating = False
  Range(Diachi).EntireRow.Hidden = False
  For Each iCell In Range(Diachi)
    If Len(iCell.Value) = 0 Then
      If Rng Is Nothing Then
        Set Rng = iCell
      Else
        Set Rng = Union(Rng, iCell)
      End If
    End If
  Next iCell
  If Not Rng Is Nothing Then Rng.EntireRow.Hidden = True
  Application.ScreenUpdating = True
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom