Showing posts with label WORKSHEET. Show all posts
Showing posts with label WORKSHEET. Show all posts

Sunday, April 14, 2019

EXCEL VBA OBJECTS PHẦN 3 –ĐỐI TƯỢNG WORKSHEET

1. Thuộc tính sheet – Property of sheet
Cũng tương tự như đối tượng Workbook , Worksheet là một đối tượng (Object), do đó nó cũng có các propertys và methods.
Chúng ta đã biết trong một file excel thì có nhiều sheet, sheet ở đây chính là viết tắt của đối tượng worksheet và nhiều sheet ở đây gọi là đối tượng worksheets.
Một vài các thuộc tính mà chúng ta hay dùng và các bạn sử dụng excel cũng đã quen biết đó là Nane, Columns, rows, cells, count, column width.
Dưới đây và các ví dụ về propertys của Object worksheet:
Private Sub CommandButton1_Click()
            ‘property name
MsgBox Worksheets(1).Name
‘property count
MsgBox Worksheets.Count
property count of columns
MsgBox Worksheets(1).Columns.Count
‘property count of rows
MsgBox Worksheets(1).Columns.Count
End Sub
2. Phương thức của sheet – Methods of sheet
Một vài các phườn thức:  add, delete, select, SaveAs, copy, pasteand, …
Dưới đây và các ví dụ về mothods của Object worksheet:
Private Sub CommandButton1_Click()
            ‘Method add
Worksheets. Add
‘Method delete
Worksheets. delete
‘Method select
Worksheets(2). Select ‘ sheet 2 sẽ được select
Cell A1 sẽ được chọn
Worksheets (1).Cells (1).Select
Column 1 sẽ được chọn
Worksheets (1).Columns (1).Select
Row 1 sẽ dược chọn
Worksheets (1).Rows (1).Select
‘Copy nội dung của A1
Worksheets(1).Cells(1,1).Select
Selection.Copy
‘Past nội dung của A1 và A2
Worksheets(1).Cells(2,1).Select
ActiveSheet.Paste
End Sub

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

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...