Lỗi code chạy ẩn dòng (1 người xem)

Liên hệ QC

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

thanhysong

MsJennyThu
Tham gia
10/4/20
Bài viết
7
Được thích
0
Sub HiddRows()
Range([L10].End(xlDown).Offset(1), [M10].End(xlDown).Offset(, -1)).Select
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End Sub

Code chạy ẩn dòng của mình không báo lỗi nhưng chỉ ẩn được 1 dòng, mình muốn ẩn từ dòng M10->end
mong các cao nhân chỉ giáo
 
Sub HiddRows()
Range([L10].End(xlDown).Offset(1), [M10].End(xlDown).Offset(, -1)).Select
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End Sub

Code chạy ẩn dòng của mình không báo lỗi nhưng chỉ ẩn được 1 dòng, mình muốn ẩn từ dòng M10->end
mong các cao nhân chỉ giáo
---------------------------------------

Vì sao lại viết code một chiều như vậy, chỉ ẩn đi, dữ liệu thay đổi, thì không hiện Row lại sao.

Code của bạn mắc lỗi dùng phương thức End và Offset

[L10].End(xlDown).Offset(1) Và [M10].End(xlDown).Offset(, -1) cùng tìm đi xuống, nên không đúng.

[M10].End(xlDown).Offset(, -1) Chính là một Cell trong cột L
Có thể viết thành [L10].End(xlDown)


Khi viết code, bạn nên khai báo 1 Range duy nhất như đoạn code dưới đây.
Và cần phải dùng bẫy lỗi hoặc thêm điều kiện để tránh lỗi.

------------------------
PHP:
Sub HideRowIfBlank()
  On Error GoTo E
  Application.ScreenUpdating = False
  With Range("M10")
    With .Resize(.Offset(.Worksheet.UsedRange.Rows.Count + 2).End(xlUp).Row - .Row + 1)
      .EntireRow.Hidden = False
      .SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
    End With
  End With
E: Application.ScreenUpdating = True
End Sub
 
Web KT

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

Back
Top Bottom