Showing posts with label hiện. Show all posts
Showing posts with label hiện. Show all posts

Sunday, April 14, 2019

Chỉ cho hiện một số worksheet trong VBA Excel - Show defined worksheet


Trong các ứng dụng Excel, trong nhiều tình huống các bạn chỉ cho hiện ra một hay một số worksheet mà thôi.
Vậy đoạn mã đó như thế nào?
What-Does-VBA-Code-Mean-Confused

Các bạn có thể dùng đoạn mã dưới đây:

Mã:
'[COLOR="Blue"] Thủ tục ViewWs nhằm chỉ cho hiện ra một số worksheet[/COLOR]
' [COLOR="Blue"]theo yêu cầu của mình mà thôi.[/COLOR]

Sub [COLOR="Red"][B]ViewWs[/B][/COLOR](ByVal wsName As Variant)
    Dim ws     As Worksheet

    On Error Resume Next

    Application.ScreenUpdating = False

  [COLOR="Teal"]  'Có ít nhất một worksheet là visible trước
    'Nếu không, lỗi sẽ xãy ra[/COLOR]
    For Each ws In ThisWorkbook.Worksheets
        If IsItInArray(ws.Name, wsName) Then
            ws.Visible = xlSheetVisible
        End If
    Next
    For Each ws In ThisWorkbook.Worksheets
        If Not IsItInArray(ws.Name, wsName) Then
            ws.Visible = xlSheetHidden
        End If
    Next
    
    [COLOR="Teal"]'Đối với các phiên bản Excel cũ
    'Thường sẽ xãy ra lỗi Take Panel
    'Mặc dù đoạn mã trên chẳng dính dáng gì với Task Panel
    'Tôi đã thử tìm kiếm trên internet nhưng ít thấy nói về vấn đề này
    '
    'Tạm thời có thể tham khảo tại đây (cũng chưa hài lòng)
    'Reference: http://support.microsoft.com/kb/288542
    'Toggle the Visible property of the Task Pane to refresh the view.
    'If the Task Pane is visible while the New Item page is active,
    'any changes you make through code are not seen until it is hidden
    'and then made visible again.[/COLOR]
    With Application
        .CommandBars("Task Pane").Visible = True 'Với Excel 2007 không cần dòng này, đã thử
        .CommandBars("Task Pane").Visible = False 'Với Excel 2007 không cần dòng này, đã thử
        .ScreenUpdating = True
    End With
End Sub

'Hàm [COLOR="Red"]IsItInArray [/COLOR]nhằm kiểm tra [COLOR="Blue"]sValueToFind  [/COLOR]có trong mảng [COLOR="Blue"]InputArray [/COLOR]này hay không.
'
Function [B][COLOR="red"]IsItInArray[/COLOR][/B](sValueToFind As Variant, InputArray As Variant) As Boolean 

   IsItInArray = Not IsError(Application.Match(sValueToFind, InputArray, 0)) 

End Function
Ví dụ để sử dụng hàm ở trên:
Giả sử trong workbook tôi đang làm việc có các worksheet sau: "Main", "Data1", "Data2", "Report1", "Report2"
Tôi muốn chỉ hiện ra worksheet "Main" và "Report1" thì tôi sẽ dùng đoạn mã sau:

Mã:
Sub Test() 
   ViewWs(Array("Main","Report1"))
End Sub

File đính kèm

Saturday, April 13, 2019

Cách ẩn, hiện Sheet trong Excel

Đôi khi làm việc với quá nhiều sheet khiến các bạn rối mắt, hoặc các bạn không muốn những sheet quan trọng bị người khác xem trên máy tính của bạn…, hay vì một lý do nào đó mà bạn muốn ẩn sheet và khi cần thiết thì hiển thị sheet.
Các bạn có thể thực hiện ẩn/hiện sheet theo các cách dưới đây:
Lưu ý:
- Trong file Excel luôn luôn phải hiển thị 1 sheet, vì vậy nếu file Excel có 1 sheet thì các bạn không ẩn sheet đó được.
- Các bạn có thể ẩn một lúc nhiều sheet bằng cách nhấn giữ phím Ctrl để chọn sheet nhưng không thao tác hiện nhiều sheet một lúc được, muốn hiển thị nhiều sheet một lúc các bạn cần cài thêm Add-ins.

Cách 1: Ẩn/hiện sheet từ thanh công cụ của Excel 2007 2010 2013.

1. Ẩn Sheet

Bước 1: Chọn sheet cần ẩn.
.com/proxy/

Bước 2: Trên thanh công cụ các bạn chọn Home -> Format -> Hide & Unhide -> Hide Sheet.
.com/proxy/
Ngay lập tức sheet bạn chọn sẽ được ẩn.
.com/proxy/

2. Hiện Sheet

Bước 1: Trên thanh công cụ các bạn chọn Home -> Format -> Hide & Unhide -> Unhide Sheet.
Lưu ý: Chỉ khi nào file Excel có sheet bị ẩn thì Unhide Sheet mới nổi sáng.
.com/proxy/
Bước 2: Xuất hiện hộp thoại Unhide các bạn chọn tên sheet muốn hiện trong phần Unhide sheet và nhấn OK để hiện sheet.
.com/proxy/

Cách 2: Ẩn/hiện sheet trực tiếp từ thanh chứa tên sheet.

1. Ẩn Sheet

Bước 1: Chọn sheet cần ẩn.
.com/proxy/
Bước 2: Nhấn chuột phải vào tên sheet đã chọn, menu nhỏ xuất hiện các bạn chọn Hide để ẩn sheet.
.com/proxy/

2. Hiện Sheet

Bước 1: Nhấn chuột phải vào tên sheet bất kỳ trong file Excel và chọn Unhide.
.com/proxy/
Bước 2: Xuất hiện hộp thoại Unhide các bạn chọn tên sheet cần hiện trong phần Unhide sheet và nhấn OK để hiển thị sheet.
.com/proxy/
Chúc các bạn thành công!

Over 50 Ebooks Excel and VBA free Download

1. Statistics and Probability for Engineering Applications With Microsoft Excel by W.J. DeCoursey - PDF Free Download Download Siz...