khởi động chỉ xuất hiện một Sheet duy nhất

Liên hệ QC

thtrung

Thành viên mới
Tham gia
9/1/08
Bài viết
15
Được thích
0
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é.
 
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é.
Bạn làm 2 bước thế này nhé:
Bước 1: Mở excel, vào Tools / options -> Chọn General, ở ô sheets in new workbook bạn nhập 1. Từ giờ trở đi khi bạn tạo 1 new workbook thì workbook chỉ có 1 sheet
Bước 2: Bạn mở excel, lúc này chương trình sẽ mở mặc định Book1, bạn xoá sheet2 và sheet3 đi rồi bấm Ctrl S hoặc ghi đè vào file Book1 trong C:\Program Files\Microsoft Office\OFFICE11\XLSTART. Bước này cho bạn mỗi lần khởi động excel chỉ có 1 sheet duy nhất.
 
Bạn thử dùng đoạn code sau
PHP:
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
TDN
 
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?
 
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?
Bạn ơi! Ít nhất phải có 1 sheet hiện lên khi mở file chứ!

Không muốn xuất hiện cảnh báo "Security Warming" thì bạn vào Tool/Macro/Security Chọn là Low. Sau đó khởi động lại excel. Tuy nhiên cảnh báo bạn trong trường hợp này là không có lợi khi file bĩ nhiễm virus!
 
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?
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,...

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
 
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,...

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
Ý mình là sheet đó vẫn hoạt động nhưng tên của nó ở phía dưới lại ẩn đi
 
Ý mình là sheet đó vẫn hoạt động nhưng tên của nó ở phía dưới lại ẩn đi
Bạn vào Tool/Option, trong Tab View bạn bỏ chọn Sheet Tabs đi là xong!

attachment.php
 

File đính kèm

  • pic.jpg
    pic.jpg
    48.2 KB · Đọc: 206
Bạn thử dùng đoạn code sau
PHP:
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
TDN
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 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

Dĩ 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!
 
Dĩ 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!
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
 
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
Ý 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 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!
ý 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
 
ý 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 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)
    'On Error Resume Next
    Sheets(Target.Name).Visible = xlSheetVisible
    Sheets(Target.Name).Select
End Sub
TDN
 
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)
PHP:
[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]
TDN
Mình không biết gì về lập trình, bó tay thôi. cảm ơn bạn nhé
 
Web KT
Back
Top Bottom