Nhờ các bác giúp ẩn các dòng không có dữ liệu (2 người xem)

Liên hệ QC

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

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