Ẩn hiện Sheet có điều kiện.

Liên hệ QC
Nhờ mọi người hướng dẫn có cách nào ẩn hiện sheet có điều kiện. mình kèm theo File nhờ mọi người hướng dẫn giùm/ xin cảm ơn nhiều%#^#$
Dùng Button ngon hơn!
Code trong Module
PHP:
Sub LinkToSh()
  With Sheets(ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Text)
    .Visible = True: .Select
  End With
End Sub
Code cho sheet TrangChu
PHP:
Private Sub Worksheet_Activate()
  Dim Sh As Worksheet
  For Each Sh In ThisWorkbook.Worksheets
    If Sh.Name <> "TrangChu" Then Sh.Visible = False
  Next
End Sub
 

File đính kèm

Upvote 0
Bạn xem thử, có nhiều cách nhé. Bạn nên mở rông ra 1 tí nữa-> khi làm việc với sheet nay thì các sheet kia "biến", sẽ gọn hơn nếu bạn có nhiều sh.
 

File đính kèm

Upvote 0
Ý bạn cũng giống ý mình. mình muốn khi làm việc với sheet nay thì các sheet kia "biến", sẽ gọn hơn. nhưng mình thấy nó không ẩn à mình nhấn cứ nhấn sheel nào thì nó hiện lên hết/ bạn kiểm tra lại giùm mình với nhé. cảm ơn bạn nhiều.
 
Upvote 0
Bạn manhhung ơi, hoàn toàn làm được mà. Bạn dùng record macro ghi lại tuần tự ý đinh của bạn, sau đó "cắt, ghép, sửa" các đoạn mã sao cho phù hợp với ý định của bạn. Thân!
 
Upvote 0
Ý bạn cũng giống ý mình. mình muốn khi làm việc với sheet nay thì các sheet kia "biến", sẽ gọn hơn. nhưng mình thấy nó không ẩn à mình nhấn cứ nhấn sheel nào thì nó hiện lên hết/ bạn kiểm tra lại giùm mình với nhé. cảm ơn bạn nhiều.
Nếu vậy thì dùng code này càng đơn giản hơn:
PHP:
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
  With Sheets(Target.Name)
    .Visible = True: .Select
  End With
  Sh.Visible = False
End Sub
Bạn thử nghiên cứu xem còn code có thể gọn hơn cái này không?
Ẹc... Ẹc...
 

File đính kèm

Upvote 0
Nhờ sữa lại code ẩn, hiện Sheet có điều kiện

Mình đã làm theo bạn cách ẩn hiện sheet có điều kiện nhưng có một vấn đề là khi mình muốn lấp nút bấm bằng macro Button thì nó báo lỗi không ẩn sheet và không vào được sheet muốn đến. nhờ bạn có cách nào sửa lại đoạn code hộ nhé/ cảm ơn nhiều.;;;;;;;;;;;
 

File đính kèm

Upvote 0
Mình đã làm theo bạn cách ẩn hiện sheet có điều kiện nhưng có một vấn đề là khi mình muốn lấp nút bấm bằng macro Button thì nó báo lỗi không ẩn sheet và không vào được sheet muốn đến. nhờ bạn có cách nào sửa lại đoạn code hộ nhé/ cảm ơn nhiều.;;;;;;;;;;;
Cái này tôi nhớ đã làm cho bạn ít nhất 3 lần rồi --> Sao chẳng chịu nghiên cứu nhỉ?
(Từ code cũ, sửa tí là xong)
PHP:
Sub Link2Sh()
  On Error GoTo ExitSub
  With Sheets(ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Text)
    .Visible = True: .Select
  End With
  Sheets("Trang chu").Visible = False
ExitSub:
End Sub
Assign Macro toàn bộ các Buttons cho Sub trên
 

File đính kèm

Upvote 0
cảm ơn bạn mình mới làm excel nên kém lắm/ cảm ơn bạn nhé
 
Upvote 0
Dùng Button ngon hơn!
Code trong Module
PHP:
Sub LinkToSh()
  With Sheets(ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Text)
    .Visible = True: .Select
  End With
End Sub
Code cho sheet TrangChu
PHP:
Private Sub Worksheet_Activate()
  Dim Sh As Worksheet
  For Each Sh In ThisWorkbook.Worksheets
    If Sh.Name <> "TrangChu" Then Sh.Visible = False
  Next
End Sub
---
Bài này nếu Remove Hyperlink đi thì code viết gọn lại như bài #8 ( chỉ dùng 1 code trong module ) đươc viết như thế nào hả chú. Cụ thể là chỉ còn Sheet "Trang chủ" và sheet được chọn. Cám ơn
 
Upvote 0
---
Bài này nếu Remove Hyperlink đi thì code viết gọn lại như bài #8 ( chỉ dùng 1 code trong module ) đươc viết như thế nào hả chú. Cụ thể là chỉ còn Sheet "Trang chủ" và sheet được chọn. Cám ơn
---
Nhờ chú xem giúp anh bài này nhé. Cám ơn
 
Upvote 0
Dùng Button ngon hơn!
Code trong Module
PHP:
Sub LinkToSh()
With Sheets(ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Text)
.Visible = True: .Select
End With
End Sub
Code cho sheet TrangChu
PHP:
Private Sub Worksheet_Activate()
Dim Sh As Worksheet
For Each Sh In ThisWorkbook.Worksheets
If Sh.Name <> "TrangChu" Then Sh.Visible = False
Next
End Sub

Cái này thì hay đấy, nhưng mà còn bị bất tiện một chút là. Dùng Button thì tẽt trên đó là tên của sheet. Nhưng tên của sheet thi lại viết tắt, nên đôi khi nhìn không đẹp lắm và khó đọc. Nhưng cũng cảm ơn bạn.
Cảm ơn
 
Upvote 0
Cái này thì hay đấy, nhưng mà còn bị bất tiện một chút là. Dùng Button thì tẽt trên đó là tên của sheet. Nhưng tên của sheet thi lại viết tắt, nên đôi khi nhìn không đẹp lắm và khó đọc. Nhưng cũng cảm ơn bạn.
Cảm ơn
Chắc ý bạn muốn gõ tên trên nhản Button khác với tên sheet thực tế mà vẫn Link đến được... Thiếu chi cách, chẳng hạn đánh dấu bằng AlternativeText
Bạn thích thế nào cứ cho ý kiến, tôi sẽ làm thử
Xem qua bài này nhé: Hướng dẫn cách tạo menu nút bấm thêm đến nhiều sheet
 
Upvote 0
Chắc ý bạn muốn gõ tên trên nhản Button khác với tên sheet thực tế mà vẫn Link đến được... Thiếu chi cách, chẳng hạn đánh dấu bằng AlternativeText
Bạn thích thế nào cứ cho ý kiến, tôi sẽ làm thử
Xem qua bài này nhé: Hướng dẫn cách tạo menu nút bấm thêm đến nhiều sheet
Mình cũng có sẵn một Sheet và tự động chạy đến Sheet "Main" khi khởi động. Trên Sheet Main này mình đã dùng toàn bộ là CommandButton và click vào là dẫn tới các sheet khác. Giờ nếu dùng Button như của Bác thì ngồi chỉnh lại hơi mệt. Bác có thể từ đó mà chỉ cho mình cách giải được không.
 
Upvote 0
Mình cũng có sẵn một Sheet và tự động chạy đến Sheet "Main" khi khởi động. Trên Sheet Main này mình đã dùng toàn bộ là CommandButton và click vào là dẫn tới các sheet khác. Giờ nếu dùng Button như của Bác thì ngồi chỉnh lại hơi mệt. Bác có thể từ đó mà chỉ cho mình cách giải được không.
Chấp nhận "ăn chơi" phải chịu "tốn kém" thôi ---> Mệt nhưng học được trò mới cũng xứng đáng
Giờ bạn hãy đưa file của bạn lên đây xem thử được không?
 
Upvote 0
Chấp nhận "ăn chơi" phải chịu "tốn kém" thôi ---> Mệt nhưng học được trò mới cũng xứng đáng
Giờ bạn hãy đưa file của bạn lên đây xem thử được không?

Đây, nhờ bạn xem giúp nhé. Trên Sheet Main của mình có nhiều commandbutton lắm.
Cảm ơn.
 

File đính kèm

Upvote 0
Đây, nhờ bạn xem giúp nhé. Trên Sheet Main của mình có nhiều commandbutton lắm.
Cảm ơn.
Trong này tôi viết sẳn cho bạn 3 code:
PHP:
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
  Sheets("Main").Visible = True
  Sh.Visible = False
End Sub
PHP:
Sub Auto_Open()
  Dim Sh As Worksheet
  For Each Sh In ThisWorkbook.Worksheets
    Sh.Visible = Sh.Name = "Main"
  Next Sh
End Sub
PHP:
Sub GotoSh()
  On Error GoTo ExitSub
  With Sheets(ActiveSheet.Shapes(Application.Caller).AlternativeText)
    .Visible = True
    .Select
  End With
  Sheets("Main").Visible = False
ExitSub:
End Sub
Khi bạn có nhu cầu thêm Button để link đến 1 sheet mới, hãy làm như sau:
- Vẽ Button
- Click phải vào Button, chọn Assign Macro, chọn code có tên GotoSh rồi bấm OK
- Click phải vào Button, chọn Format Control, chuyển sang tab Web rồi gõ tên sheet cần link vào khung Alternative text
(Bạn thấy đấy, tôi nhoáng cái đã xong, có khó khăn gì đâu)
 

File đính kèm

Upvote 0
Cũng chủ để ẩn sheet

Mình có một File nhờ bạn xem giúp nhé. Trên Sheet Main của mình cũng có nhiều commandbutton lắm nhưng nó thêm commandbutton ẩn bạn kiểm tra giùm mình nhé. File mình nhiều Sheet nên hơi nặng mình đã xoá bớt nên File có lỗi một chút. nhờ bạn viết code ẩn hết các sheet chỉ hiện khi chọn. và lúc mở thì chỉ sheet TRANG CHU hiện ra. cảm ơn bạn
 
Upvote 0
Trong này tôi viết sẳn cho bạn 3 code:
PHP:
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
Sheets("Main").Visible = True
Sh.Visible = False
End Sub
PHP:
Sub Auto_Open()
Dim Sh As Worksheet
For Each Sh In ThisWorkbook.Worksheets
Sh.Visible = Sh.Name = "Main"
Next Sh
End Sub
PHP:
Sub GotoSh()
On Error GoTo ExitSub
With Sheets(ActiveSheet.Shapes(Application.Caller).AlternativeText)
.Visible = True
.Select
End With
Sheets("Main").Visible = False
ExitSub:
End Sub
Khi bạn có nhu cầu thêm Button để link đến 1 sheet mới, hãy làm như sau:
- Vẽ Button
- Click phải vào Button, chọn Assign Macro, chọn code có tên GotoSh rồi bấm OK
- Click phải vào Button, chọn Format Control, chuyển sang tab Web rồi gõ tên sheet cần link vào khung Alternative text
(Bạn thấy đấy, tôi nhoáng cái đã xong, có khó khăn gì đâu)
Sao mình thử lên file của mình thì mọi thứ đều được, nhưng khi bấm "trở về" của sheet khác (dùng Huyperlink) thì nó không hiểu. Vì lúc này sheet Main đã bị ẩn.
Code module mình đưa vào như thế này, bạn xem thử có đúng theo thứ tự từng lệnh không nhé:
Sub Auto_Open()
Dim Sh As Worksheet
For Each Sh In ThisWorkbook.Worksheets
Sh.Visible = Sh.Name = "Main"
Next Sh
End Sub
Sub GotoSh()
On Error GoTo ExitSub
With Sheets(ActiveSheet.Shapes(Application.Caller).AlternativeText)
.Visible = True
.Select
End With
Sheets("Main").Visible = False
ExitSub:
End Sub
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
Sheets("Main").Visible = True
Sh.Visible = False
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom