Xin hướng dẫn: Ẩn Sheet nhưng vẫn liên kết được (1 người xem)

Liên hệ QC

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

tanhaukg

Thành viên mới
Tham gia
7/8/09
Bài viết
39
Được thích
7
Nghề nghiệp
công nhân
Cho tôi hỏi khi tôi ẩn các Sheet đi không hiện được bằng lệnh unhide làm thế nào để vẫn liên kết tới các sheet được, khi làm việc thì chỉ có một sheet thôi các sheet còn lại đều ẩn hết. Ai biết xin chỉ dùm cảm ơn?
 
Cho tôi hỏi khi tôi ẩn các Sheet đi không hiện được bằng lệnh unhide làm thế nào để vẫn liên kết tới các sheet được, khi làm việc thì chỉ có một sheet thôi các sheet còn lại đều ẩn hết. Ai biết xin chỉ dùm cảm ơn?
Bạn vào trang soạn thảo code: bấm tổ hợp phím Alt+F11, rồi tiếp đến bấm phím F4, rồi chọn sheet cần ẩn, chọn mục visible, chọn xlsheetVeryHiden, như hình vẽ là được. Như thế thì khi dùng lệnh Unhide không hiện các sheet được và các sheet ẩn vẫn liên kết bình thường. Còn muốn các sheet hiện lại thì chọn xlsheetVisible
 

File đính kèm

  • untitled.JPG
    untitled.JPG
    43.3 KB · Đọc: 422
Lần chỉnh sửa cuối:
Bạn vào trang soạn thảo code: bấm tổ hợp phím Alt+F11, rồi tiếp đến bấm phím F4, rồi chọn sheet cần ẩn, chọn mục visible, chọn xlsheetVeryHiden, như hình vẽ là được. Như thế thì khi dùng lệnh Unhide không hiện các sheet được và các sheet ẩn vẫn liên kết bình thường. Còn muốn các sheet hiện lại thì chọn xlsheetVisible

Đúng là làm như bạn thì các Sheet ẩn đi và không sử dụng được lệnh Unhide nhưng không liên kết được khi các Sheet bị ẩn bạn ơi.
 
Đúng là làm như bạn thì các Sheet ẩn đi và không sử dụng được lệnh Unhide nhưng không liên kết được khi các Sheet bị ẩn bạn ơi.
Bạn muốn liên kết là sao?
Ví dụ sheet1 bị ẩn, từ 1 sheet nào đó bạn gõ =sheet1!A1 vẫn lấy được dữ liệu trong ô A1 của sheet1 đúng không?
 
Đúng là làm như bạn thì các Sheet ẩn đi và không sử dụng được lệnh Unhide nhưng không liên kết được khi các Sheet bị ẩn bạn ơi.
Ẩn như thế lấy dữ liệu ở các sheet bị ẩn vẫn lấy được dử liệu mà bạn. Các sheet ẩn vẫn liên kết bình thường. Nếu muốn liên kết dữ liệu mới giữa các sheet ẩn đi thì chọn xlsheetVisible xong rồi bạn lại ẩn lại.
 
Bạn muốn liên kết là sao?
Ví dụ sheet1 bị ẩn, từ 1 sheet nào đó bạn gõ =sheet1!A1 vẫn lấy được dữ liệu trong ô A1 của sheet1 đúng không?

Ý em là các Sheet bị ẩn chỉ còn một Sheet1. Sheet1 này được tạo chỉ mục (Hyperlink) tới những Sheet khác và ngược lại tại các Sheet khác củng tạo chỉ mục để trở về Sheet1. Các Sheet khác bị ẩn còn lại Sheet1 thôi: VD: từ Sheet1 ta nhấp chọn chỉ mục đến Sheet2 (hoặc các sheet khác) thì Sheet2 hiện lên lúc này thì chỉ có Sheet2 thôi . . . Mong anh giúp dùm. Thank
 
Ý em là các Sheet bị ẩn chỉ còn một Sheet1. Sheet1 này được tạo chỉ mục (Hyperlink) tới những Sheet khác và ngược lại tại các Sheet khác củng tạo chỉ mục để trở về Sheet1. Các Sheet khác bị ẩn còn lại Sheet1 thôi: VD: từ Sheet1 ta nhấp chọn chỉ mục đến Sheet2 (hoặc các sheet khác) thì Sheet2 hiện lên lúc này thì chỉ có Sheet2 thôi . . . Mong anh giúp dùm. Thank

Có phải ý bạn như trong file tớ làm kg?!
 

File đính kèm

Ý em là các Sheet bị ẩn chỉ còn một Sheet1. Sheet1 này được tạo chỉ mục (Hyperlink) tới những Sheet khác và ngược lại tại các Sheet khác củng tạo chỉ mục để trở về Sheet1. Các Sheet khác bị ẩn còn lại Sheet1 thôi: VD: từ Sheet1 ta nhấp chọn chỉ mục đến Sheet2 (hoặc các sheet khác) thì Sheet2 hiện lên lúc này thì chỉ có Sheet2 thôi . . . Mong anh giúp dùm. Thank
"Chời ơi"! Giải thích bằng tiếng Việt mà cũng khó hiểu quá.
Cái này chắc phải dùng VBA rồi, từ từ chờ các bạn biết VBA giải quyết.
 
Vâng cảm ơn anh. Phải viết bằng VBA hả anh, em thì mù tịch VBS luôn
Không viết bằng VBA, dùng Hyperlink bình thường cũng được! Cách đơn giản là ẩn Sheet tab, khi ấy bạn sẽ chỉ nhìn thấy 1 sheet duy nhất mà thôi
 
Ý em là các Sheet bị ẩn chỉ còn một Sheet1. Sheet1 này được tạo chỉ mục (Hyperlink) tới những Sheet khác và ngược lại tại các Sheet khác củng tạo chỉ mục để trở về Sheet1. Các Sheet khác bị ẩn còn lại Sheet1 thôi: VD: từ Sheet1 ta nhấp chọn chỉ mục đến Sheet2 (hoặc các sheet khác) thì Sheet2 hiện lên lúc này thì chỉ có Sheet2 thôi . . . Mong anh giúp dùm. Thank
Như vậy thì yêu cầu của bạn giống yêu cầu tại đây: Tập hợp và triển khai cac sheet trong workbook
Thực ra thì vấn đề này cũng đã nói khá nhiều trên GPE rồi. Bạn sử dụng chức năng tìm kiếm của diễn đàn với từ khóa "mục lục sheet" sẽ có rất nhiều kết quả để bạn tham khảo.
 
Lần chỉnh sửa cuối:
Cho tôi hỏi khi tôi ẩn các Sheet đi không hiện được bằng lệnh unhide làm thế nào để vẫn liên kết tới các sheet được, khi làm việc thì chỉ có một sheet thôi các sheet còn lại đều ẩn hết. Ai biết xin chỉ dùm cảm ơn?
Bạn xem thử có được chưa nha. Nếu đúng bạn nên cảm ơn bác ndu nha.
 
Hỏi

Mình là bộ đội trình độ hạn chế, mình đã xem fie của bạn làm nhưng vẫn không làm được. Xin chỉ mình cách như fie này. ẩn sheet nhưng vẫn chỉ mục được.
cám on trước nghe
 

File đính kèm

Mình là bộ đội trình độ hạn chế, mình đã xem fie của bạn làm nhưng vẫn không làm được. Xin chỉ mình cách như fie này. ẩn sheet nhưng vẫn chỉ mục được.
cám on trước nghe

Bạn đưa con trỏ về tại B3, bấm chuột phải > chọn Edit Hyperlink để xem cách làm và nghiên cứu nhé
 
Chọn sheet là viêc -> Bật MVB (Alt+F11) -> Chọn tab ThisWorkbook -> Copy 2 dòng code sau -> Run
-Để ẩn các sheet:
Sub Auto_Hide()
ActiveWindow.DisplayWorkbookTabs = False
End Sub
-Để hiện các sheet:
Sub Auto_Unhide()
ActiveWindow.DisplayWorkbookTabs = True
End Sub
Capture.PNG
Có thể tạo liên kết đến code này từ "Assign Macro...." giống như hyperlink.
 
Cho tôi hỏi khi tôi ẩn các Sheet đi không hiện được bằng lệnh unhide làm thế nào để vẫn liên kết tới các sheet được, khi làm việc thì chỉ có một sheet thôi các sheet còn lại đều ẩn hết. Ai biết xin chỉ dùm cảm ơn?
thử xem file maaux này có đúng ý bạn k.
 

File đính kèm

Hỏi

Mình là bộ đội trình độ hạn chế, mình đã xem fie của bạn làm nhưng vẫn không làm được. Xin chỉ mình cách như fie này. ẩn sheet nhưng vẫn chỉ mục được.
cám on trước nghe
Bạn làm theo hướng dẫn trong File đính kèm nhé
 

File đính kèm

Các Anh Chị ơi, em đang làm 1 file theo dõi bảo trì của khách hàng, hiện tại em có 302 khách hàng.
Em muốn làm 1 file với sheet đầu tiên là danh mục các khách hàng đang được bảo trì.
Các sheet còn lại là thông tin cụ thể của từng khách hàng: ngày đi bảo trì, công việc làm, tình trạng mặt hàng đó.....
Em có mò trên group mình và có thấy 1 file dùng hyperlink tự động ( nghĩa là thêm 1 sheet, thì sheet danh mục đầu sẽ tự cập nhật thêm tên khách hàng, tên sheet đó)
Nhưng do file em nhiều sheet, em muốn ẩn các sheet đi, chỉ còn 1 sheet danh mục đầu thôi, khi cần mở sheet nào để cập nhật thì nhấp vào link sẽ mở sheet ẩn đó ra, khi qua lại trang chính thì sheet đó sẽ tự động ẩn đi.
Em có mò trên google thấy đoạn code này nhưng không hiểu các áp dụng, em đã bê nguyên đoạn copy vào VBA mà không chạy được, mong Các Anh chị chỉ giúp.

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
'Updateby Extendoffice
Application.ScreenUpdating = False
Dim strLinkSheet As String
If InStr(Target.Parent, "!") > 0 Then
strLinkSheet = Left(Target.Parent, InStr(1, Target.Parent, "!") - 1)
Else
strLinkSheet = Target.Parent
End If
Sheets(strLinkSheet).Visible = True
Sheets(strLinkSheet).Select
Application.ScreenUpdating = True
End Sub

Private Sub Worksheet_Activate()
On Error Resume Next
Sheets(ActiveCell.Value2).Visible = False
End Sub
 

File đính kèm

Anh Chị ơi, xin giúp em với. Em mò mẫm trên group thì có cái file tạo ra list danh mục các sheet rồi, nhấp vào tên sheet nào thì sẽ hiện ra sheet đang ẩn đó, khi trở về sheet danh mục và ẩn các sheet kia.
Cụ thể là: em có file với gần khoảng 200 sheet ( mỗi khách hàng là 1 sheet)
sheet đầu tiên là sheet danh mục: là tổng hợp tên các khách hàng và cột STT là tên sheet, nhấp vào đó sẽ hiện ra sheet đang ẩn. Nhấp quay lại danh mục thì sheet đó ẩn đi.
Nhưng em gặp trở ngại là em muốn hiện những sheet như sheet hợp đồng, sheet báo giá....thì không được, nó chỉ hiện duy nhất 1 sheet danh mục thôi ạ.
Xin anh chị chỉ cách sửa giúp em với ạ.
 

File đính kèm

Anh Chị ơi, xin giúp em với. Em mò mẫm trên group thì có cái file tạo ra list danh mục các sheet rồi, nhấp vào tên sheet nào thì sẽ hiện ra sheet đang ẩn đó, khi trở về sheet danh mục và ẩn các sheet kia.
Cụ thể là: em có file với gần khoảng 200 sheet ( mỗi khách hàng là 1 sheet)
sheet đầu tiên là sheet danh mục: là tổng hợp tên các khách hàng và cột STT là tên sheet, nhấp vào đó sẽ hiện ra sheet đang ẩn. Nhấp quay lại danh mục thì sheet đó ẩn đi.
Nhưng em gặp trở ngại là em muốn hiện những sheet như sheet hợp đồng, sheet báo giá....thì không được, nó chỉ hiện duy nhất 1 sheet danh mục thôi ạ.
Xin anh chị chỉ cách sửa giúp em với ạ.
Bạn click vào This Workbook và sửa lại code thêm tên sheet muốn hiện vào sự kiện Workbook_SheetDeactivate nhé.
Mã:
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
    If Sh.Name <> "danh muc" Then Sh.Visible = xlSheetVeryshow
    If Sh.Name = "HD Ca Nhan" Or Sh.Name = "BAO GIA" Then Sh.Visible = xlSheetVisible
End Sub
 
Bạn click vào This Workbook và sửa lại code thêm tên sheet muốn hiện vào sự kiện Workbook_SheetDeactivate nhé.
Mã:
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
    If Sh.Name <> "danh muc" Then Sh.Visible = xlSheetVeryshow
    If Sh.Name = "HD Ca Nhan" Or Sh.Name = "BAO GIA" Then Sh.Visible = xlSheetVisible
End Sub
dạ vâng, để mình làm thử nhé, cảm ơn nhiều ạ
 
dạ vâng, để mình làm thử nhé, cảm ơn nhiều ạ

Bạn click vào This Workbook và sửa lại code thêm tên sheet muốn hiện vào sự kiện Workbook_SheetDeactivate nhé.
Mã:
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
    If Sh.Name <> "danh muc" Then Sh.Visible = xlSheetVeryshow
    If Sh.Name = "HD Ca Nhan" Or Sh.Name = "BAO GIA" Then Sh.Visible = xlSheetVisible
End Sub
Dạ mình làm được rồi, file chạy được rồi. Vậy là muốn hiện sheet nào thì cứ dùng câu lệnh or sh.name đúng không ạ?
Nhưng mình có 5 sheet có đặt tên muốn hiện trực tiếp trên file thì có câu lệnh nào ngắn gọn hơn câu lệnh trên không ạ? Các sheet này sẽ đặt tên là "HD Ca Nhan", "Bao gia sua chua", bang gia vat tu. Còn các sheet khách hàng là đặt theo số thứ tự rồi ạ.
Và cho mình hỏi thêm 1 điểm nữa nha. Mình muốn trên bảng danh mục chỉ hiện các sheet đặt theo số thứ tự, còn các sheet mà đặt tên bằng chữ như "bao gia" thì không hiện có được không ạ, tại nó không có bị ẩn nên không cần hiện lên danh mục ạ.
Xin cảm ơn bạn.


1640415728802.png
 
Dạ mình làm được rồi, file chạy được rồi. Vậy là muốn hiện sheet nào thì cứ dùng câu lệnh or sh.name đúng không ạ?
Nhưng mình có 5 sheet có đặt tên muốn hiện trực tiếp trên file thì có câu lệnh nào ngắn gọn hơn câu lệnh trên không ạ? Các sheet này sẽ đặt tên là "HD Ca Nhan", "Bao gia sua chua", bang gia vat tu. Còn các sheet khách hàng là đặt theo số thứ tự rồi ạ.
Bạn sửa lại :
Mã:
If IsNumeric(Sh.Name) = False Then Sh.Visible = xlSheetVisible
Sheet nào tên không phải là số thì sẽ luôn hiện.
Còn vấn đề: "muốn trên bảng danh mục chỉ hiện các sheet đặt theo số thứ tự..." bạn tìm hiểu thêm công thức đặt trong Define Name (Ctrl + F3), mình không rành cái đó nên không chỉnh sửa được.
 
Hỏi

Mình là bộ đội trình độ hạn chế, mình đã xem fie của bạn làm nhưng vẫn không làm được. Xin chỉ mình cách như fie này. ẩn sheet nhưng vẫn chỉ mục được.
cám on trước nghe
cho mình hỏi là muốn thêm sheet nữa thì phải làm như thế nào vậy bạn. mình cũng có ý định làm file nhiều sheet mà chừng đấy sheet như mẫu của bạn hơi ít nên bạn chỉ mình đc ko bạn.
 
Dạ mình làm được rồi, file chạy được rồi. Vậy là muốn hiện sheet nào thì cứ dùng câu lệnh or sh.name đúng không ạ?
Nhưng mình có 5 sheet có đặt tên muốn hiện trực tiếp trên file thì có câu lệnh nào ngắn gọn hơn câu lệnh trên không ạ? Các sheet này sẽ đặt tên là "HD Ca Nhan", "Bao gia sua chua", bang gia vat tu. Còn các sheet khách hàng là đặt theo số thứ tự rồi ạ.
Và cho mình hỏi thêm 1 điểm nữa nha. Mình muốn trên bảng danh mục chỉ hiện các sheet đặt theo số thứ tự, còn các sheet mà đặt tên bằng chữ như "bao gia" thì không hiện có được không ạ, tại nó không có bị ẩn nên không cần hiện lên danh mục ạ.
Xin cảm ơn bạn.


View attachment 270752
anh chị ơi, e đã làm theo hướng dẫn mẫu mà kích vào cái sheet nào nó ẩn hết hic. Em muốn 1 file sheet Home hiện cố định, chỉ cần 1 sheet đó bấm vào các tên khác mới hiện ra mà cả home cũng ẩn hết. Anh chị Hỗ trợ giúp em với ạ. Em cảm ơn nhiều ạ

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
If Sh.Name <> "Home" Then Sh.Visible = xlSheetVeryshow
If Sh.Name <> "Home" Or Sh.Name = "danh muc" Then Sh.Visible = xlSheetVeryshow

End Sub
 

File đính kèm

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

Back
Top Bottom