PHAN TUYẾT LINH
PHAN TUYẾT LINH
Thảo luận 3 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 149 lượt xem

Chào cho e là ví dụ trong file excel mình có các sheet với tên như "DT41118" "DT1388"

Chào thầy, thầy cho e hỏi là, ví dụ trong file excel mình có các sheet với tên như "DT.41118", "DT.1388", "DT.131", "DT.331" ... thì mình tạo Macro để ẩn hiện các sheet có tên gần giống nhau như "DT.*" thì viết thế nào ạ?.  E thử viết như vậy nhưng không được, thầy sửa lại giúp e nhé, cám ơn thầy.

Sub Test()

Dim Ws As Worksheet

    If (Ws.Name Like "DT.*") Then

    For Each Ws In ThisWorkbook.Worksheets

            Ws.Visible = xlSheetVisible

        Next Ws

        End If

End Sub

Thảo luận 3 câu trả lời
Lượt xem 149 lượt xem
Vỗ tay vỗ tay
PHAN TUYẾT LINH 13:12 - Dec 09, 2021

Chào bạn bạn đưa hàm if vào trong vòng lặp nhé.

Vỗ tay vỗ tay
PHAN TUYẾT LINH 14:12 - Dec 09, 2021

Sub Test()

Dim Ws As Worksheet

    For Each Ws In ThisWorkbook.Worksheets

    If (Ws.Name Like "DT.*") Then

            Ws.Visible = xlSheetVisible

        Next Ws

        End If

End Sub

Lỗi next without for, thầy viết lại giúp e đoạn sub chính xác, cám ơn thầy



Vỗ tay vỗ tay
PHAN TUYẾT LINH 14:12 - Dec 09, 2021

Chào bạn bạn làm như sau nhé

Option Explicit
Sub Test()
Dim Ws As Worksheet
    For Each Ws In ThisWorkbook.Worksheets
      If (Ws.Name Like "Sheet*") Then
            Ws.Visible = xlSheetHidden
        End If
    Next Ws
End Sub

phần hiện bạn chỉ cần thay đổi code là xong

Option Explicit
Sub Test()
Dim Ws As Worksheet
    For Each Ws In ThisWorkbook.Worksheets
      If (Ws.Name Like "Sheet*") Then
            Ws.Visible = xlSheetVisible
        End If
    Next Ws
End Sub

Vỗ tay vỗ tay
Câu hỏi liên quan
© 2020 - Bản quyền của Công Ty Cổ Phần Công Nghệ Giáo Dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở Kế hoạch và Đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ Thông tin và Truyền thông