Ẩn hiện Sheet

Liên hệ QC

quanglenb

Thành viên hoạt động
Tham gia
2/11/19
Bài viết
138
Được thích
25
Em trân trọng chào các anh, chị trên GPE
Em có vấn đề sau mong được anh chị gúp đỡ:
File Excel của em gồm nhiều Sheet trong đó có các sheet rất ít khi sử dụng
Những sheet ít khi sử dụng đó em muốn ẩn đi bằng code:
Sau khi chạy code lần 1 để có thể chọn những sheet cần ẩn (sheet ít khi sử dụng) và ẩn nó đi
Khi dùng Unhide thông thường (Click chuột trái vào sheet để chọn Unhide) thì những sheet cần ẩn đã chạy bằng code lần 1 sẽ không hiện lên được mà phải chạy code lần 2 thì mới thấy danh sách những sheet đã bị ẩn bằng code đã chạy lần 1 đi, sau đó có thể chọn những sheet cần hiện trong danh sách đã ẩn bằng code khi chạy lần 1 để bỏ ẩn đi.
 
Bạn tạo ra 1 sheet bất kỳ, đặt tên là QLSheet hay gì đó tùy bạn (sheet này để quản lý các sheet), bật viewcode lên và chép nguyên đoạn code sau vào sheet vừa tạo ra.
PHP:
Private Sub Worksheet_Activate()
Dim Sh As Worksheet
Dim i
For Each Sh In ActiveWorkbook.Worksheets
    i = i + 1
    Cells(i, 1).Value = Sh.Name
    If Sh.Visible = True Then
        Cells(i, 2).Value = "Visible"
        Cells(i, 3).Value = ""
    Else
        Cells(i, 3).Value = "Hidden"
        Cells(i, 2).Value = ""
    End If
Next
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 2 Then
    If Target.Offset(0, -1).Value <> ActiveSheet.Name Then
        If Target.Value = "" Then
            Target.Value = "Visible"
            Target.Offset(0, 1).ClearContents
            Worksheets(Target.Offset(0, -1).Value).Visible = True
        End If
    End If
ElseIf Target.Column = 3 Then
    If Target.Offset(0, -2).Value <> ActiveSheet.Name Then
        If Target.Value = "" Then
            Target.Value = "Hidden"
            Target.Offset(0, -1).ClearContents
            Worksheets(Target.Offset(0, -2).Value).Visible = xlHidden
        End If
    End If
End If
End Sub
Khi kích hoạt sheet QLSheet, danh sách sheet sẽ được tạo ra và kèm theo trạng thái ẩn hiện của các sheet đó. Nếu muốn ẩn thì bạn đưa con trỏ vào cột 3, hiện thì đưa con trỏ vào cột 2. Thử là biết liền à!
 
Bạn tạo ra 1 sheet bất kỳ, đặt tên là QLSheet hay gì đó tùy bạn (sheet này để quản lý các sheet), bật viewcode lên và chép nguyên đoạn code sau vào sheet vừa tạo ra.
PHP:
Private Sub Worksheet_Activate()
Dim Sh As Worksheet
Dim i
For Each Sh In ActiveWorkbook.Worksheets
    i = i + 1
    Cells(i, 1).Value = Sh.Name
    If Sh.Visible = True Then
        Cells(i, 2).Value = "Visible"
        Cells(i, 3).Value = ""
    Else
        Cells(i, 3).Value = "Hidden"
        Cells(i, 2).Value = ""
    End If
Next
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 2 Then
    If Target.Offset(0, -1).Value <> ActiveSheet.Name Then
        If Target.Value = "" Then
            Target.Value = "Visible"
            Target.Offset(0, 1).ClearContents
            Worksheets(Target.Offset(0, -1).Value).Visible = True
        End If
    End If
ElseIf Target.Column = 3 Then
    If Target.Offset(0, -2).Value <> ActiveSheet.Name Then
        If Target.Value = "" Then
            Target.Value = "Hidden"
            Target.Offset(0, -1).ClearContents
            Worksheets(Target.Offset(0, -2).Value).Visible = xlHidden
        End If
    End If
End If
End Sub
Khi kích hoạt sheet QLSheet, danh sách sheet sẽ được tạo ra và kèm theo trạng thái ẩn hiện của các sheet đó. Nếu muốn ẩn thì bạn đưa con trỏ vào cột 3, hiện thì đưa con trỏ vào cột 2. Thử là biết liền à!
Cám ơn anh!
 
Web KT

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

Back
Top Bottom