Showing posts with label EXCEL VBA. Show all posts
Showing posts with label EXCEL VBA. Show all posts

Sunday, April 14, 2019

EXCEL VBA OBJECT PHẦN 1 – GIỚI THIỆU

  1. 1. Objects trong VBA excel.
Hầu hết các ngôn ngữ lập trình ngày nay đều được gọi là ngôn ngữ lập trình hướng đối tượng. Mặc dù Excel VBA không phải là ngôn ngữ lập trình hướng đối tượng thực sự. Đối tượng trong VBA là một cái gì đó giống như một công cụ có các phương thức và thuộc tính.
Ví dụ, một Worksheet Excel là một đối tượng, Cell trong một bảng tính là một đối tượng, Rang là một đối tượng, phông chữ của cell là một đối tượng, nút lệnh là một đối tượng, và Một hộp văn bản là một đối tượng và nhiều hơn nữa
Objects-349ediwenaob6p7oqfd1j4



Objects in Excel VBA

  • Để xem tất cả các objects hiện có trong VBA hay trong workbook bạn đang mở, bạn Click vào nút Objects Browser và kết quả
Objectsbrowser


Objects browser trong Excel VBA

2. Thuộc tính của Object
Thuộc tính của Object hay còn gọi là Property là đặc tính của đối tượng  ví dụ như Value là thuộc tính của Cells hay của Range
Private Sub CommandButton1_Click()
Range(“A1:A6”).Value = 10   ‘ Value là thuộc tính của range, Đôi khi value không cần viết ra
Or
Range(“A1:A6”) = 10
End Sub
Một object cũng có thể là property của đối tượng khác
Range(“A1:A3”).Cells(1, 1).Interior.Color = vbYellow  ‘cells ;à property của Range
Thuộc tính thì có thể được gán (Set) hoặc chỉ có thể đượng đọc (Get)
Private Sub CommandButton1_Click()
Dim tcount As Integer
tcount = Range(“A1:A6”).count  ‘count chỉ có thể đọc
Range(“A10”).value = tcount  ‘value thì có thể được gán hoặc được đọc
End Sub
3. Phương thức
Các object ngoài các property cũng có các phương thức ví dụ Range(A1).Clear thì Clear là một phương thức, phương thức cũng có thể trả về một giá trị
Ví dụ:
Private Sub CommandButton1_Click()
Range(“A1:A6”).ClearContents  ‘ClearContents   là một phương thức
or
Sheet1.Cells.ClearContents
or
Sheet1.Cells.ClearFormats
or
Range(“A1:A5”).Select
or phước thức trả về giá trị
Range(“A1”)=1
Range(“A2”)=2
Range(“A1:A2”).AutoFill Destination:=Range(“A1:A10”) ‘Range(“A1:A10”) là giá trị được trả về
End Sub

EXCEL VBA OBJECTS PHẦN 2 – ĐỐI TƯỢNG WORKBOOK

Bài trước chúng ta đã tìm hiểu về đối tượng (Objects) trong VBA, Workbook là một đối tượng quan trọng trong Excel VBA. Workbook là đối tượng nên nó có thuộc tính (Propertys)  và phương thức(Methods)
Khi bạn tạo một file excel hoặc mở một file excel có sẵn thì nó là một workbook (object)
Khi có nhiều file excel đang được mở thì tập hợp các file đó là workbooks (object)
1. Thuộc tính (Propertys) Workbook
Xác định một workbook bằng cách:
Workbook = workbooks(i)
Nếu bạn muốn lấy chính cái workbook đang thao tác thì
              Workbook = thisWorkbook
– Mở Objects browser lên và tìm đến workbook
ObjectAndprperty-768x411



Propertys, methods of object

Từ cửa sổ trên chúng ta sẽ thấy được các thuộc tính của workbook và phương thức của nó
Ví dụ:
– Thuộc tính name
Private Sub CommandButton1_Click()
MsgBox Workbooks(1).Name
Or
MsgBox ThisWorkbook.Name
End Sub
– Thuộc tính path
Private Sub CommandButton1_Click ()
MsgBox ThisWorkbook.Path
Or
MsgBox Workbooks (“workbook_object1.xls”).Path
End Sub
– Thuộc tính fullname
Private Sub CommandButton1_Click ()
MsgBox ThisWorkbook.FullName
Or
MsgBox Workbooks(“workbook_object1.xls”).Fullname
End Sub
2. Phương thức(methods) của workbook
Các phương pháp của workbook ta hay sử dụng như Save, SaveAs, Open, Close và còn nhiều phương pháp khác
Ví dụ:
Private Sub CommandButton1_Click()
            ‘Mở file
Workbooks.Open (“File Name”)
‘Lưu file
fName = Application.GetSaveAsFilename
ThisWorkbook.SaveAs Filename:=fName
‘Đóng file
Workbooks (i).Close
End Sub

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

ĐỐI TƯỢNG RANGE TRONG EXCEL VBA

Range là một đối tượng (Object) trong Excel VBA, Range có thể là một cell hoặc nhiều cell (ô), Range là một thuộc tính của sheet, một sheet có thể có nhiều Range nhưng một Range thì chỉ có một sheet.
Range-600x360

1. Thuộc tính – Propertys
  • Thuộc tính Font – Formatting font
Range bao gồm các cell do đó nó có các thuộc tính font, một số thuộc tính font như: name, bold, itatic, underline, Size, Fontstyle, Colorindex, Color những thuộc tính này chúng ta có thể sử dụng cùng với nhau:
Range (“YourRange”).Font.Bold=True
Range (“YourRange”).Font.Italic=True
Range (“YourRange”).Font.Underline=True
Hoặc
Range (“YourRange”).Font.FontStyle=”Bold Italic”
Ví dụ 1
Private Sub CommandButton1_Click()
Range(“A1:A3”).Font.Bold = True
Range(“A1:A3”).Font.Italic = True
Range(“A1:A3”).Font.Underline = True
Range(“A1:A3”).Font.Size = 20
Range(“A1:A3”).Font.FontStyle = “Bold Italic Underline”
Range(“A1:A3”).Font.Name = “Time News Roman”
End Sub
Ví dụ 2: ColorIndex
Private Sub CommandButton2_Click()
Range(“A4:B10”).Font.ColorIndex = 4
End Sub
Ví dụ 4: Formular
Ví dụ 4.1
Range_vidu4-600x360
Private Sub CommandButton1_Click()
Range(“A1:B3”).Columns(3).Formula = “=A1+B1”
Range(“A1:B3”).Columns(3).Formula = “=Sum(A1:B1)” ‘ tổng
Range(“A1:B3”).Columns(3).Formula = “=Average(A1:B1)” ‘ giá trị trung bình
End Sub
Ví dụ 4.2
Range_vidu4-1-600x360
Private Sub CommandButton1_Click()
Range(“A1:E4”).Columns(6).Formula = “=Mode(A1:E1)”  ‘yếu vị trong 1 dòng
Range(“A1:E4”).Columns(6).Formula = “=Median(A1:E1)”  ‘ Giá trị trung bình
Range(“A1:E4”).Columns(6).Font.Bold = True
Range(“A1:E4”).Columns(6).Font.ColorIndex = 3
End Sub
Ví dụ 5: Màu nền Range
Private Sub CommandButton1_Click()
Range(“A1:A3”).Interior.Color = vbYellow
End Sub
2. Phương pháp – The Range Methods
Ví dụ 6: phương pháp Autofill  – Autofill Method 
Private Sub CommandButton1_Click ()
Set myRange = Range (“A1:A2”)
Set targetRange = Range (“A1:A20”)
myRange.AutoFill Destination: =targetRange
End Sub
Ví dụ 7: Select, Copy and Paste Methods
Private Sub CommandButton1_Click ()
Range (“C1:C2”).Select
Selection.Copy
Range (“D1:D2”).Select
ActiveSheet.Paste
End Sub
Ví dụ 7: Copy and PasteSpecial Methods 
Range_vidu8-600x360
Private Sub CommandButton1_Click ()
Range(“C1:C2”).Copy
Range(“D1:D2”).PasteSpecial Paste:=xlPasteValues
Range(“E1:E2”).PasteSpecial Paste:=xlPasteFormulas
Range(“F1:F2”).PasteSpecial Paste:=xlPasteFormats
Range(“G1:G2”).PasteSpecial Paste:=xlPasteAll
End Sub

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