NTM Solutions

Facebook Youtube Google+

Thứ Tư, 19 tháng 7, 2017

VBA Macro - Bài 03 - Đối tượng Workbooks vs Worksheets


Quay về mục lục VBA Macro

+ Trong Excel, các đối tượng được sắp xếp theo thứ tự sau:
 




+ Application là đối tượng lớn nhất (phần mềm Excel) chứa tất cả các đối tượng khác.Các đối tượng được gọi đến ngăn cách nhau bởi dấu “.”
Ví dụ:
Điền chữ “Lophocvitinh.COM” vào ô A1 trong sheet NTM ta gõ dòng code sau:
Application.ThisWorkbook.Worksheets("NTM").Range("A1").Value = "Lophocvitinh.COM"

+ ThisWorkbook là workbook hiện hành.
+ ActiveSheet là Sheet hiện hành.
+ Các bạn chú ý: Worksheets có chữ “s” là để chỉ tập hợp các Worksheet.Nếu không có “s” là thành 01 đối tượng khác.
+ Bình thường Excel tự hiểu  phần Application.ThisWorkbook nên để truy cập đến 1 ô nào đó ta chỉ phải khai báo từ Worksheets trở đi.Như vậy đoạn code trên chỉ cần viết lại ngắn gọn như thế này:
Worksheets("NTM").Range("A1").Value = "Lophocvitinh.COM"
+ Bạn cũng có thế viết Worksheets(“tên”) => Sheets(“tên”) (khuyến cáo các bạn nên viết đầy đủ)
+ Tên của 01 Worksheet có 03 dạng:
01 – Phần tên sheet trong Excel.Ví dụ: Sheets(“NTM”).Range(“A1”).Value = “Lophocvitinh.COM”
02 – Phần tên sheet trong cửa sổ VBA (CodeName).Ví dụ: Sheet1.Range("A1").Value = "Lophocvitinh.COM"
03 – Số thứ tự. Ví dụ: Sheets(1).Range("A1").Value = "Lophocvitinh.COM"

 + Như vậy sheet NTM có CodeName là Sheet1.Ta sẽ viết lại đoạn code trên như sau:
Sheet1.Range("A1").Value = "Lophocvitinh.COM"

****Các thuộc tính và phương thức thông dụng của Workbooks và Worksheets****

1.       Workbooks
a.       Workbooks.Add
Tạo mới 01 Workbook.
Ví dụ: gõ Workbooks.Add => Run => Xuất hiện thêm 01 workbook Excel mới
b.      Workbooks.Close
Đóng Workbook.
Ví dụ: gõ Workbook.Close =>Run
c.       Workbooks.Open
Mở 01 Workbook.
Ví dụ:
Tạo mới 01 file “abc.xls” cùng thư mục với file Book1.xlsm(file bạn đang code VBA).Gõ:
Workbooks.Open FileName:="abc.xls", ReadOnly:=True
Ngoài ra còn 01 số các sự kiện thông dụng của đối tượng Workbook như:
Open, BeforeSave, BeforeClose, SheetChange (các bạn xem thêm trong cửa sổ CODE VBA nhé).


2.       Worksheets
a.       Worksheets.Count
Xuất ra tổng số Worksheet của workbook.
Ví dụ: MsgBox Worksheets.Count
b.      Worksheets.Move
Ví dụ: Di chuyển sheet “NTM” về cuối=> Gõ CODE:
Worksheets("NTM").Move After:=Sheets(Sheets.Count)
c.       Worksheets.Add
Ví dụ: Thêm 02 sheet mới trước sheet NTM=> Gõ CODE
Worksheets.Add Count:=2, Before:=Sheets("NTM")
d.      Worksheets(“name”).Visible
Ví dụ: Ẩn sheet NTM => Gõ CODE:
Sheets(“NTM”).Visible = False
Ghi chú: để hiện lại sheets đã ẩn ta Right Click vào tên sheet bất kỳ=> Unhide
*01 số sự kiện quan trọng của đối tượng Worksheets là:
Change, Activate, BeforeDoubleClick, SelectionChange,…=> xem thêm trong cửa sổ CODE.


Nếu còn chưa rõ các bạn xem video clip dưới đây: