Bạn làm 2 bước thế này nhé:Làm thế nào để khi khởi động một file excel chỉ xuất hiện một Sheet duy nhất do mình thiết lập (Sheet chủ) các Sheet khác thì ẩn đi, chỉ mở được khi mình dùng liên kết từ Sheet chủ? các bạn giúp mình nhé.
Private Sub Workbook_Open()
Dim Ws As Worksheet
On Error Resume Next
For Each Ws In Worksheets
If Ws.CodeName = "Chỉ mục" Then Ws.Visible = xlSheetVisible Else Ws.Visible = xlSheetVeryHidden
Next
End Sub
Bạn ơi! Ít nhất phải có 1 sheet hiện lên khi mở file chứ!Cảm ơn bạn tedaynui, mình đã copy đoạn code của bạn và thử, chạy rất tốt. nhưng nếu mình muốn giấu luôn cả tên Sheet khởi động thì phải làm thế nào. khi khởi khởi động không xuất hiện bản cảnh báo "Security Warming" có được không?
1/ Theo mình biết thì không thể được vì Excel buộc phải có tối thiểu 1 sheet Active, ngoại trừ bạn nguỵ trang như tạo 1 sheet trống như 1 màn hình trắng,...Cảm ơn bạn tedaynui, mình đã copy đoạn code của bạn và thử, chạy rất tốt.
1/ nhưng nếu mình muốn giấu luôn cả tên Sheet khởi động thì phải làm thế nào.
2/ khi khởi khởi động không xuất hiện bản cảnh báo "Security Warming" có được không?
Ý mình là sheet đó vẫn hoạt động nhưng tên của nó ở phía dưới lại ẩn đi1/ Theo mình biết thì không thể được vì Excel buộc phải có tối thiểu 1 sheet Active, ngoại trừ bạn nguỵ trang như tạo 1 sheet trống như 1 màn hình trắng,...
2/ cảnh báo "Security Warming" : Bạn chỉ cần search trên GPE sẽ thấy có rất nhiều bài đã bàn về vến đề này, từ đó bạn sẽ chọn cho mình giải pháp phù hợp.
Chúc bạn thành công !
TDN
Bạn vào Tool/Option, trong Tab View bạn bỏ chọn Sheet Tabs đi là xong!Ý mình là sheet đó vẫn hoạt động nhưng tên của nó ở phía dưới lại ẩn đi
Nếu mình không dùng code thì còn cách nào không vậy? mình không biết nhiều về codeBạn thử dùng đoạn code sauTDNPHP:Private Sub Workbook_Open() Dim Ws As Worksheet On Error Resume Next For Each Ws In Worksheets If Ws.CodeName = "Chỉ mục" Then Ws.Visible = xlSheetVisible Else Ws.Visible = xlSheetVeryHidden Next End Sub
Nếu mình không dùng code thì còn cách nào không vậy? mình không biết nhiều về code
Nếu Hide các sheet chừa lại một sheet như bạn nói thì các liên kết từ sheet này đến các sheet khác lại không hoạt động. vì mình muốn sheet chủ này chứa các liên kết đến các sheet khác mà bạnDĩ nhiên là còn:
Trước khi đóng file, bạn Hide hết các sheet đi (Vào Format/Sheet/Hide), chừa lại 1 sheet thôi! Sau đó lưu file lại. Lần sau, khi mở file excel này lên là hiển nhiên chỉ có sheet đó xuất hiện mà thôi!
Ý bạn nói là liên kết hypelink hay liên kết bằng công thức! Nếu liên kết bằng hypelink thì chỉ có nước dùng Code VBA để Unhide sheet đã Hide mà thôi! Còn liên kết công thức đến sheet đã Hide thì không có ảnh hưởng!Nếu Hide các sheet chừa lại một sheet như bạn nói thì các liên kết từ sheet này đến các sheet khác lại không hoạt động. vì mình muốn sheet chủ này chứa các liên kết đến các sheet khác mà bạn
ý mình là liên kết hypelink đến các sheet đã ẩn. sheet này chỉ làm nhiệm vụ giới thiệu và hypelink đến các sheet ẩn khácÝ bạn nói là liên kết hypelink hay liên kết bằng công thức! Nếu liên kết bằng hypelink thì chỉ có nước dùng Code VBA để Unhide sheet đã Hide mà thôi! Còn liên kết công thức đến sheet đã Hide thì không có ảnh hưởng!
Bạn phải dùng VBA thôi.ý mình là liên kết hypelink đến các sheet đã ẩn. sheet này chỉ làm nhiệm vụ giới thiệu và hypelink đến các sheet ẩn khác
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
'On Error Resume Next
Sheets(Target.Name).Visible = xlSheetVisible
Sheets(Target.Name).Select
End Sub
Mình không biết gì về lập trình, bó tay thôi. cảm ơn bạn nhéBạn phải dùng VBA thôi.
Bạn Unhide sheet trước, sao đó mới Link tới nó được. Ví dụ tham khảo :PHP:Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
TDNPHP:[color=Navy] 'On Error Resume Next[/color] [color=Navy] Sheets(Target.Name).Visible = xlSheetVisible[/color] [color=Navy] Sheets(Target.Name).Select[/color] [color=Navy]End Sub[/color]