Xin code Hyperlink đến sheet ẩn (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

bluesky9134

Thành viên mới
Tham gia
8/1/13
Bài viết
12
Được thích
4
Mình có dùng tính năng Hyperlink của excel 2013 để link đến các sheet trong file, do có quá nhiều nên mình muốn ẩn hết các sheet này đi, khi nào nhấn vào Hyperlink thì nó mới hiện lên thôi. Mong mọi người giúp đỡ. File của mình gồm có 3 sheet đầu tiên luôn hiện, còn lại là sheet ẩn.

P/s: Mình có tham khảo các bài viết trên diễn đàn thì thấy chủ yếu mọi người bày tạo hyperlink tới sheet ẩn bằng button hay lệnh vba, còn đây mình muốn dùng luôn tính năng Hyperlink có sẵn trong Excel luôn cho tiện nha mọi người. Cảm ơn }}}}}http://************.vn/quan-ao-tre-em/quan-ao-so-sinh
 
Lần chỉnh sửa cuối:
Mình có dùng tính năng Hyperlink của excel 2013 để link đến các sheet trong file, do có quá nhiều nên mình muốn ẩn hết các sheet này đi, khi nào nhấn vào Hyperlink thì nó mới hiện lên thôi. Mong mọi người giúp đỡ. File của mình gồm có 3 sheet đầu tiên luôn hiện, còn lại là sheet ẩn.

P/s: Mình có tham khảo các bài viết trên diễn đàn thì thấy chủ yếu mọi người bày tạo hyperlink tới sheet ẩn bằng button hay lệnh vba, còn đây mình muốn dùng luôn tính năng Hyperlink có sẵn trong Excel luôn cho tiện nha mọi người. Cảm ơn }}}}}
Bạn thử code này, đặt trong module ThisWorkbook.
Mã:
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
If ActiveSheet.Name = Sh.Name Then
    With Range(Target.SubAddress).Parent
        If .Name <> Sh.Name Then
            .Visible = xlSheetVisible
            Target.Follow
        End If
    End With
End If
End Sub
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
If Sh.Index > 3 Then Sh.Visible = xlSheetHidden
End Sub
 
Upvote 0
Bạn thử code này, đặt trong module ThisWorkbook.
Mã:
Sub TIMKIEM()    Dim Sh As Worksheet, boUnP As Boolean
    Application.ScreenUpdating = False
    For Each Sh In ActiveWorkbook.Worksheets
        With Sh
            If .FilterMode Then
                boUnP = Sh.ProtectContents
                If boUnP Then Unprotect_1sheet Sh
                .ShowAllData
                If boUnP Then Protect_1sheet Sh
            End If
        End With
    Next
    Application.ScreenUpdating = True
    Application.CommandBars("Edit").Controls("Find...").Execute
End Sub




Sub Unprotect_1sheet(iSheet As Worksheet) ''any Sheet
    iSheet.Unprotect Password:=1
End Sub


Sub Protect_1sheet(iSheet As Worksheet) ''any Sheet
        iSheet.Protect Password:=1, AllowFiltering:=True 'cho phep' loc
End Sub
Mình đang dùng code này của bạn Giola để bỏ Filter trước khi tìm kiếm. Giờ thấy bài này của bạn rất hay, vì file của mình cũng nhiều sheet nên bạn có thể sửa giúp code này để sau khi áp dụng code trên của bạn thì nó có thể tìm kiếm được cả ở những sheet bị hiden không?
 
Upvote 0

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

Back
Top Bottom