Vô hiệu hoá Sheet Tab (2 người xem)

Liên hệ QC

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

Nguoiay

Thành viên hoạt động
Tham gia
24/11/10
Bài viết
139
Được thích
34
Ở 1 Workbook, trong Tools\Options\View Khi em bỏ dấu kiểm ở Sheet Tabs để ẩn Sheet Tab. Giờ em muốn vô hiệu hoá nó để người ta không làm hiện nó trong Workbook của em thì làm thế nào? (AC có thể thiết lập code cho em thì càng tốt).
 
Ở 1 Workbook, trong Tools\Options\View Khi em bỏ dấu kiểm ở Sheet Tabs để ẩn Sheet Tab. Giờ em muốn vô hiệu hoá nó để người ta không làm hiện nó trong Workbook của em thì làm thế nào? (AC có thể thiết lập code cho em thì càng tốt).

Bạn tham khảo nhé:

Gán sự kiện khi mở, và khi đóng Workbook
'Gia su ban co 1 sheet trong do ten "CDPS" hoac ten gi cung duoc. khi khoi dong no chon ngay Sheet nay.
va an Sheet di. Nếu người dùng cố tình sửa thì cũng ko vấn đề gì.
Còn các Sheet khác nếu chọn Sheet khác thì bị ẩn ngay
Private Sub Workbook_Open()
Sheet1.Name = "CDPS"
ActiveWindow.DisplayWorkbookTabs = False ' an sheet
'Application.DisplayFormulaBar = False 'an thanh cong thuc
'ActiveWindow.DisplayHeadings = False '
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
''Tra lai nhu mac dinh
ActiveWindow.DisplayWorkbookTabs = True
'Application.DisplayFormulaBar = True
ActiveWindow.DisplayHeadings = True

End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Sheet1.Name = "CDPS"
ActiveWindow.DisplayWorkbookTabs = False ' an sheet
End Sub
 
Lần chỉnh sửa cuối:
Bạn tham khảo nhé:

Gán swuj kiện khi mở, và khi đóng WB
Mã:
Private Sub Workbook_Open()

ActiveWindow.DisplayWorkbookTabs = False ' an sheet
'Application.DisplayFormulaBar = False 'an thanh cong thuc
'ActiveWindow.DisplayHeadings = False '
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
''Tra lai nhu mac dinh
ActiveWindow.DisplayWorkbookTabs = True ' Cái này có thể ko cần
'Application.DisplayFormulaBar = True ' Cái này nếu cho chạy thì phải trả lại
ActiveWindow.DisplayHeadings = True

End Sub

Sao những cái khó hơnn nhiều bạn làm được cơ mà

Nếu code thế này thì mình làm được rùi. Ý mình là khi mở ra nó ẩn đi. Đó đó người khác vào Tools\Options\View cũng không làm hiện lại được đó bạn ơi.
Cách này không được rùi....!!
 
Nếu code thế này thì mình làm được rùi. Ý mình là khi mở ra nó ẩn đi. Đó đó người khác vào Tools\Options\View cũng không làm hiện lại được đó bạn ơi.
Cách này không được rùi....!!
Tốt nhất bạn nên đặt
Sheet1.name = "CDPS"
Sheet2.name = "NKC"
................
..................

P/a này tối ưu nhất. gán cho nó thêm sự kiện. nếu chọn Sheet khác thì sẽ tiếp tục chạy cái Sub doitensheet()
 
Lần chỉnh sửa cuối:
Nếu code thế này thì mình làm được rùi. Ý mình là khi mở ra nó ẩn đi. Đó đó người khác vào Tools\Options\View cũng không làm hiện lại được đó bạn ơi.
Cách này không được rùi....!!
Vậy thôi bạn cho ẩn luôn mục Options đi là xong (khỏi vào)
PHP:
Private Sub Workbook_Open()
  CommandBars("Tools").Controls("&Options...").Enabled = False
End Sub
 
Vậy thôi bạn cho ẩn luôn mục Options đi là xong (khỏi vào)
PHP:
Private Sub Workbook_Open()
CommandBars("Tools").Controls("&Options...").Enabled = False
End Sub

Em đã làm như thầy nhưng nó báo lỗi:
25421.jpg
 
Sửa lại vầy xem:
PHP:
Private Sub Workbook_Open()
Application.CommandBars("Tools").Controls("&Options...").Enabled = False
End Sub
Sơ ý!

Bác ơi! Office 2007 em vẫn thấy như thường mà.

Nhân đây Bác cho Em hỏi sự lợi và hại của hai cách lấy tên Sheet như sau với:

Sheet1.Select
Sheets("CDPS").Select

Nếu như E đổi luôn tên Sheet trong Propeties Sheet1 là CDPS

khi chọn Sheet chỉ cần

CDPS.Select

Nhìn rõ cách này ngắn hơn và không sơ người dùng đổi tên Sheet nhưng không hiểu sao chủ yếu mọi người vẫn dùng cách dài hơn

Mong bác chỉ giúp để cho E "sáng hơn" chút.
 
Lần chỉnh sửa cuối:
Bác ơi! Office 2007 em vẫn thấy như thường mà.
Excel 2007 không dùng hệ thống menu như Excel 2003, code trên không chạy cũng là đương nhiên thôi
Nhân đây Bác cho Em hỏi sự lợi và hại của hai cách lấy tên Sheet như sau với:

Sheet1.Select
Sheets("CDPS").Select

Nếu như E đổi luôn tên Sheet trong Propeties Sheet1 là CDPS

khi chọn Sheet chỉ cần

CDPS.Select

Nhìn rõ cách này ngắn hơn và không sơ người dùng đổi tên Sheet nhưng không hiểu sao chủ yếu mọi người vẫn dùng cách dài hơn

Mong bác chỉ giúp để cho E "sáng hơn" chút.
Nếu bạn viết code để tự bạn xài thì viết cách nào cũng như nhau thôi... còn như bạn viết để hướng dẫn người khác thì bạn phải viết theo cách thông thường nhất (nghĩa là người ta chỉ cần copy code của bạn về paste vào file của họ sẽ chạy ngay) ---> Nếu dùng theo kiểu CDPS.Select như bạn vừa nói, buộc bạn phải mất công chỉ người ta cách đổi tên sheet code name ---> Chỉ tổ rối
 
Excel 2007 không dùng hệ thống menu như Excel 2003, code trên không chạy cũng là đương nhiên thôi

Nếu bạn viết code để tự bạn xài thì viết cách nào cũng như nhau thôi... còn như bạn viết để hướng dẫn người khác thì bạn phải viết theo cách thông thường nhất (nghĩa là người ta chỉ cần copy code của bạn về paste vào file của họ sẽ chạy ngay) ---> Nếu dùng theo kiểu CDPS.Select như bạn vừa nói, buộc bạn phải mất công chỉ người ta cách đổi tên sheet code name ---> Chỉ tổ rối

Khà...khà hoá ra là như vậy. Một dấu hỏi lớn cánh cánh mãi đã được bác giải đáp. THANKS bác nhiều2
 
Web KT

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

Back
Top Bottom