Ẩn hoặc hiện sheet theo điều kiện

Liên hệ QC

tu205489039

Thành viên hoạt động
Tham gia
14/12/14
Bài viết
118
Được thích
12
Giới tính
Nam
Chào các anh chị, xin các anh chị chỉ giúp mình
Mình có 1 file dữ liệu, trong đó sheet "data" tại ô A5 trở xuống điền tên các sheet có trong file excel. Mình phải làm thế nào, để những sheet có tên từ A5 trở xuống thì sẽ hiện sheet tương ứng, còn nếu không có thì sẽ hide sheet.
Mình xin cảm ơn!
 

File đính kèm

Thử
Mã:
Public Sub hidden_show()
Dim listSheet As Range
Dim frng As Range
Dim ws As Worksheet
With Sheets("data")
  Set listSheet = .Range("A5:A" & .Range("A" & Rows.Count).End(xlUp).Row)
End With
    For Each ws In Worksheets
         If ws.Name <> "data" Then
            Set frng = listSheet.Find(ws.Name, LookIn:=xlValues, lookat:=xlWhole)
            If Not (frng Is Nothing) Then
                ws.Visible = xlSheetVisible
            Else
                ws.Visible = xlSheetHidden
            End If
        End If
    Next
End Sub
 
Upvote 0
Kết hợp Code bài #2 và thêm sự kiện cho tự động luôn:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A5:A" & Cells(Rows.Count, "A").End(3).Row)) Is Nothing Then hidden_show
End Sub
 
Upvote 0
Thử
Mã:
Public Sub hidden_show()
Dim listSheet As Range
Dim frng As Range
Dim ws As Worksheet
With Sheets("data")
  Set listSheet = .Range("A5:A" & .Range("A" & Rows.Count).End(xlUp).Row)
End With
    For Each ws In Worksheets
         If ws.Name <> "data" Then
            Set frng = listSheet.Find(ws.Name, LookIn:=xlValues, lookat:=xlWhole)
            If Not (frng Is Nothing) Then
                ws.Visible = xlSheetVisible
            Else
                ws.Visible = xlSheetHidden
            End If
        End If
    Next
End Sub
Mình cảm ơn bạn rất nhiều, code bạn chạy vượt mong đợi luôn
 
Upvote 0

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom