Bill group
Thành viên mới
- Tham gia
- 6/8/17
- Bài viết
- 37
- Được thích
- 0
Sub HideSh()
Dim Sh As Worksheet, ShG As String
ShG = InputBox("Nhap nhom HS:", "Thông báo")
If ShG = "" Then Exit Sub
With ThisWorkbook
For Each Sh In Worksheets
If Sh.Name <> "Menu" Then
If InStr(UCase(Sh.Name), UCase(ShG)) Then
Sh.Visible = xlSheetVisible
Else
Sh.Visible = xlSheetHidden
End If
End If
Next
Sheets("Menu").Activate
End With
End Sub
Bạn xem có đúng không nhé.Xin code ẩn hiên các sheet theo ý muốn!
Tôi gửi file đính kèm xin code để gán vào các nút : Ẩn hiện các sheet theo ý muốn
Nhờ các ace giúp. Cám ơn!
Sub an(ByVal dk As String)
Dim sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
If sh.Name <> "Menu" Then
If InStr(1, dk, sh.Name, vbTextCompare) Then
sh.Visible = xlSheetVisible
Else
sh.Visible = xlSheetVeryHidden
End If
End If
Next
End Sub
Sub an1()
an ("#HSA1#HSA2#")
End Sub
Sub an2()
an ("#HSB1#HSB2#")
End Sub
Sub an3()
an ("#HSC1#HSC2#")
End Sub
nó báo lỗi này là thế nào bác ơiBạn xem có đúng không nhé.
Mã:Sub an(ByVal dk As String) Dim sh As Worksheet For Each sh In ThisWorkbook.Worksheets If sh.Name <> "Menu" Then If InStr(1, dk, sh.Name, vbTextCompare) Then sh.Visible = xlSheetVisible Else sh.Visible = xlSheetVeryHidden End If End If Next End Sub Sub an1() an ("#HSA1#HSA2#") End Sub Sub an2() an ("#HSB1#HSB2#") End Sub Sub an3() an ("#HSC1#HSC2#") End Sub
Xin bác gán luôn marco vào nút nhóm HS a ; nhóm HS B; nhóm HS C có được không?Tham khảo code sau thử áp dụng được không:
Mã:Sub HideSh() Dim Sh As Worksheet, ShG As String ShG = InputBox("Nhap nhom HS:", "Thông báo") If ShG = "" Then Exit Sub With ThisWorkbook For Each Sh In Worksheets If Sh.Name <> "Menu" Then If InStr(UCase(Sh.Name), UCase(ShG)) Then Sh.Visible = xlSheetVisible Else Sh.Visible = xlSheetHidden End If End If Next Sheets("Menu").Activate End With End Sub
Sửa lại code như sau:Xin bác gán luôn marco vào nút nhóm HS a ; nhóm HS B; nhóm HS C có được không?
Sub HideSh()
Dim Sh As Worksheet, ShG As String
With ThisWorkbook
ShG = ActiveSheet.Shapes(Application.Caller).TextFrame2.TextRange.Text
For Each Sh In Worksheets
If Sh.Name <> "Menu" Then
If InStr(UCase(Sh.Name), UCase(ShG)) Then
Sh.Visible = xlSheetVisible
Else
Sh.Visible = xlSheetHidden
End If
End If
Next
Sheets("Menu").Activate
End With
End Sub