Hỏi mã VBA để dấu hẳn Sheet

Liên hệ QC

phanthinh1971

Thành viên mới
Tham gia
9/2/07
Bài viết
24
Được thích
1
Em muốn xin đoạn mã để dấu hẳn (và hiện lại) một  Sheet sao cho khi vào Fomat-Sheet cũng không thấy được nó .
    Như Sheet1  trong file kèm theo (em làm thủ công) .
Xin cảm ơn
 

File đính kèm

  • _Dau Sheet.xls
    15 KB · Đọc: 12
Bạn xem file kèm theo nhé:
 

File đính kèm

  • An-Hien Sheet.rar
    12.4 KB · Đọc: 36
Upvote 0
Đoạn code đơn giản thế này thôi:
Sub DauSheet()
ActiveSheet.Visible = xlSheetVeryHidden
End Sub
 
Upvote 0
Đoạn code đơn giản thế này thôi:
Sub DauSheet()
ActiveSheet.Visible = xlSheetVeryHidden
End Sub

Cẩn thận với ActiveSheet vì khi bạn thao tác với Sheet bất kỳ, nó đều thực hiện như vậy. Ngoài ra, khi để chế độ siêu ẩn, cần thiết lập code để hiện như bình thường.
 
Upvote 0
Đoạn code đơn giản thế này thôi:
Sub DauSheet()
ActiveSheet.Visible = xlSheetVeryHidden
End Sub
Code này chắc chắn không chạy được trong 1 số trường hợp và nó sẽ báo lỗi thế này:

untitled.JPG

Đố bạn biết đó là những trường hợp nào?
Mà cho dù bạn chưa biết những lỗi có thể xảy ra, ít nhất cũng nên có câu bẫy lỗi dự phòng
 
Upvote 0
Code này chắc chắn không chạy được trong 1 số trường hợp và nó sẽ báo lỗi thế này:

View attachment 69100

Đố bạn biết đó là những trường hợp nào?
Mà cho dù bạn chưa biết những lỗi có thể xảy ra, ít nhất cũng nên có câu bẫy lỗi dự phòng
Lỗi này xảy ra khi trên Workbook chỉ còn 1 sheet duy nhất Visible.
Đoạn code có thể sửa lại như sau:
Sub DauSheet()
Dim VSsheet As Integer
Dim Sh As Worksheet
VSsheet = 0
For Each Sh In ActiveWorkbook.Worksheets
If Sh.Visible = True Then
VSsheet = VSsheet + 1
End If
Next
If VSsheet = 1 Then Exit Sub
ActiveSheet.Visible = xlSheetVeryHidden
End Sub
____________
Code hiẹn sheet ẩn:
Sub hien_sheet()
Dim Sh As Worksheet
For Each Sh In ActiveWorkbook.Worksheets
If Sh.Visible = xlSheetHidden Or Sh.Visible = xlSheetVeryHidden Then
Sh.Visible = xlSheetVisible
End If
Next
End Sub
__________
 
Upvote 0
Lỗi này xảy ra khi trên Workbook chỉ còn 1 sheet duy nhất Visible.
Chưa hết đâu! Vẫn còn trường hợp nữa đấy!
Suy nghĩ xem!
Ngoài ra, nếu đã biết chắc chắn lỗi có thể xảy ra là những gì, ta có thể chỉ cần thêm đoạn On Error Resume Next ở đầu code là đủ mà không cần phải For... Next gì cả
 
Upvote 0
Chưa hết đâu! Vẫn còn trường hợp nữa đấy!
Suy nghĩ xem!
Ngoài ra, nếu đã biết chắc chắn lỗi có thể xảy ra là những gì, ta có thể chỉ cần thêm đoạn On Error Resume Next ở đầu code là đủ mà không cần phải For... Next gì cả
Đó là lỗi do Workbook bị khoá?
 
Upvote 0
Chưa hết đâu! Vẫn còn trường hợp nữa đấy!
Suy nghĩ xem!
Ngoài ra, nếu đã biết chắc chắn lỗi có thể xảy ra là những gì, ta có thể chỉ cần thêm đoạn On Error Resume Next ở đầu code là đủ mà không cần phải For... Next gì cả
Vâng! Như vậy nếu xảy ra lỗi thì đương nhiên Sheet đó không thể ẩn được!
 
Upvote 0
Web KT
Back
Top Bottom