LamNA
Thành viên tích cực
- Tham gia
- 3/6/14
- Bài viết
- 897
- Được thích
- 720
- Giới tính
- Nam
- Nghề nghiệp
- Quản Lý Cửa Hàng
Không dùng nút lệnh thì "khi nào thì ẩn"?Chào anh chị GPE
Nhờ anh chị hỗ trợ code tự động ẩn dòng (không dùng nút lệnh) như file đính kèm.
Điều kiện:
Tính từ dòng "A18:A2017" cho Sheet1, Sheet2,, Sheet3 ,khi cột "A" không có dữ liệu thì sẽ ẩn đi dòng đó
Em cám ơn
Bạn thử:Chào anh chị GPE
Nhờ anh chị hỗ trợ code tự động ẩn dòng (không dùng nút lệnh) như file đính kèm.
Điều kiện:
Tính từ dòng "A18:A2017" cho Sheet1, Sheet2,, Sheet3 ,khi cột "A" không có dữ liệu thì sẽ ẩn đi dòng đó
Em cám ơn
Sub abc()
Dim ws As Worksheet
For Each ws In Worksheets
ws.Activate
For i = 18 To 2017
If Range("A" & i) = 0 Then Rows(i).EntireRow.Hidden = True
Next
Next
End Sub
Dạ khi từ cột A18 đến A2017 không có dữ liệu thì code sẽ tự động ẩn giống như báo cáo động.Không dùng nút lệnh thì "khi nào thì ẩn"?
Dạ em cám ơn anh, anh cho em hỏi thêm trong trường hợp mình muốn chỉ định "Sheet" sẽ chạy code ẩn dòng thì mình thêm điều kiện như thế nào anh.Bạn thử:PHP:Sub abc() Dim ws As Worksheet Application.DisplayFullScreen = True For Each ws In Worksheets ws.Activate For i = 18 To 2017 If Range("A" & i) = 0 Then Rows(i).EntireRow.Hidden = True Next Next End Sub
Private Sub Worksheet_Activate()
Dim i As Long
Application.ScreenUpdating = False
For i = 18 To 2017
If Cells(i, 1).Value = 0 And Cells(i, 1).Value = 0 Then
Rows(i).Hidden = True
End If
Next i
Application.ScreenUpdating = True
End Sub
Filter dữ liệu khác rổng là được rồi, sao phải For NextBạn thử:PHP:Sub abc() Dim ws As Worksheet Application.DisplayFullScreen = True For Each ws In Worksheets ws.Activate For i = 18 To 2017 If Range("A" & i) = 0 Then Rows(i).EntireRow.Hidden = True Next Next End Sub
Range("A17:A5000").AutoFilter 1, "<>", VisibleDropDown:=False
Dạ code chạy nhẹ đi rất nhiều, thầy cho em hỏi thêm nếu khi chạy ẩn khi em thêm dữ liệu vào thì nó tự động hiện dòng đó ra, hiện tại code chạy chỉ 1 chiều ẩn. Vì cột A em có liên kết nhập liệu ở Sheet khácFilter dữ liệu khác rổng là được rồi, sao phải For Next
Mã:Range("A17:A5000").AutoFilter 1, "<>", VisibleDropDown:=False
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 1
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 2