Giúp sửa code ẩn dòng trống tự động

Liên hệ QC

AnhThu-1976

Thành viên tích cực
Tham gia
17/10/14
Bài viết
1,058
Được thích
170
Em chào các anh chị
Em có đoạn code sau
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    Application.EnableEvents = False
    If Target.Address = "$E$1" Then
        Range("D5:D31").AutoFilter 1, "<>", , , False
       
    End If
    Application.EnableEvents = True
End Sub
Em muốn, từ Ô D5 đến D31 mà không có số liệu thì ẩn dòng
Nhưng code trên ẩn không đúng yêu cầu, em nhờ các anh chị xem qua lỗi ở đâu
Em cảm ơn
 

File đính kèm

  • andong.xlsm
    18.7 KB · Đọc: 16
Từ A5 đến F31, nếu không có số liệu thì ẩn
dòng tổng cộng thì không ẩn
Cảm ơn bạn
Xin lỗi. Có lẽ nên sửa
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    Application.EnableEvents = False
    If Target.Address = "$E$1" Then
        Range("B4:B31").AutoFilter 1, "<>", , , False
     
    End If
    Application.EnableEvents = True
End Sub
 
Upvote 0
Xin lỗi. Có lẽ nên sửa
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    Application.EnableEvents = False
    If Target.Address = "$E$1" Then
        Range("B4:B31").AutoFilter 1, "<>", , , False
    
    End If
    Application.EnableEvents = True
End Sub
Nhờ các anh/chị xem lại giúp code
Trong file này, Em muốn Cột thành tiền mà bằng trống hay không thì ẩn luôn dòng, em áp dụng code trên mà chưa được
cụ thể: chỗ giam gia thì = 0 hay trống thì cũng ẩn dòng giảm giá, nhưng code trong bài của em thì không ẩn dòng giam gia
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    Application.EnableEvents = False
    If Target.Address = "$F$1" Then
        Range("F4:F31").AutoFilter 1, "<>", , , False
    End If
    Application.EnableEvents = True
End Sub
Em nhờ anh chị giúp chổ bị sai. Em cảm ơn!
 

File đính kèm

  • andong.xlsm
    17.6 KB · Đọc: 6
Upvote 0
Bác sửa lại chỗ màu đỏ là được nhé

Rich (BB code):
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    Application.EnableEvents = False
    If Target.Address = "$F$1" Then
        Range("F4:F31").AutoFilter 1, ">0", , , True
    End If
    Application.EnableEvents = True
End Sub
 
Upvote 0
Bác sửa lại chỗ màu đỏ là được nhé

Rich (BB code):
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    Application.EnableEvents = False
    If Target.Address = "$F$1" Then
        Range("F4:F31").AutoFilter 1, ">0", , , True
    End If
    Application.EnableEvents = True
End Sub
Các Anh, chị cho hỏi, trong trường hợp nếu muốn ẩn dòng khi
cột F bằng 0 hoặc trống thì sửa code như thế nào ạ
Em cảm ơn!
 
Upvote 0
Các Anh, chị cho hỏi, trong trường hợp nếu muốn ẩn dòng khi
cột F bằng 0 hoặc trống thì sửa code như thế nào ạ
Em cảm ơn!
bác copy cái code đó vào là xong rồi mà vì code đã bao gồm trường hợp 0 và trống rồi á
Tải file nếu bác vẫn còn loay hoay với lý do gì đó ...
 
Lần chỉnh sửa cuối:
Upvote 0
Bác sửa đoạn này nhé
Rich (BB code):
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    Application.EnableEvents = False
    If Target.Address = "$F$1" Then
        Range("F4:F31").AutoFilter 1, ">0", xlOr, "<0", True
    End If
    Application.EnableEvents = True
End Sub
 

File đính kèm

  • andong.xlsm
    18.8 KB · Đọc: 11
Upvote 0
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$F$1" Then Exit Sub
Range("F4:F32").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End Sub
 
Upvote 0
Xin lỗi. Có lẽ nên sửa
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    Application.EnableEvents = False
    If Target.Address = "$E$1" Then
        Range("B4:B31").AutoFilter 1, "<>", , , False
    
    End If
    Application.EnableEvents = True
End Sub
Hay quá, cho hỏi cái autofilter 1 có nghĩa là gì vậy bạn.
 
Upvote 0
Hay quá, cho hỏi cái autofilter 1 có nghĩa là gì vậy bạn.
Học kiểu thụ động, hỏi từng cái tủn mủn như thế thì cả đời chả học được bao nhiêu.

Kỹ năng cực kỳ quan trọng là kỹ năng tìm kiếm thông tin.

Có một kho tàng kiến thức ngay trong "nhà", ngay bên cạnh, trong tầm tay, mà lại đi hỏi thì quá vô lý.

Rõ ràng Range("B4:B31").AutoFilter ... là gọi phương thức AutoFilter của đối tượng Range. Trong VBE chỉ cần menu View -> Object Browser là có

autofilter.png

Nhấn ? rồi đọc thỏa thích. Sau vài phút là biết hết ý nghĩa các tham số, chả cần hỏi ai.
 
Upvote 0
Học kiểu thụ động, hỏi từng cái tủn mủn như thế thì cả đời chả học được bao nhiêu.

Kỹ năng cực kỳ quan trọng là kỹ năng tìm kiếm thông tin.

Có một kho tàng kiến thức ngay trong "nhà", ngay bên cạnh, trong tầm tay, mà lại đi hỏi thì quá vô lý.

Rõ ràng Range("B4:B31").AutoFilter ... là gọi phương thức AutoFilter của đối tượng Range. Trong VBE chỉ cần menu View -> Object Browser là có

View attachment 276588

Nhấn ? rồi đọc thỏa thích. Sau vài phút là biết hết ý nghĩa các tham số, chả cần hỏi ai.
Cám ơn Bác batman1 đã chỉ bảo thêm, cái ý nghĩa nằm trong đây nhờ Bác em mới biết. Chúc Bác ngày cuối tuần vui vẻ.
 
Upvote 0
em nhờ các anh chị xem tại sao nó ẩn các dòng dưới dòng 32, em cảm ơn!
 

File đính kèm

  • AnDong.xlsm
    20.6 KB · Đọc: 4
Upvote 0
Web KT

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

Back
Top Bottom