Bài 5. Workbook, worksheet

Liên hệ QC

befaint

|||||||||||||
Tham gia
6/1/11
Bài viết
14,367
Được thích
19,326
Bài 5. Workbook, worksheet

(Danh sách các bài viết về VBA xem ở đây Index - Các bài viết về VBA)

Sơ đồ các đối tượng trong VBA:
1- Application (Microsoft Excel)
2- Workbook (Excel file)
3- Worksheet
4- Range

1. Đối tượng Workbook:
Theo sơ đồ trên, workbook là đối tượng cấp thứ 2 của Application (Microsoft Excel).
PHP:
MsgBox ThisWorkbook.Parent
'Result: Microsoft Excel
Ví dụ:
PHP:
Sub vidu1()
Range("A1").Value = "Xin chao!"
End Sub
Tức là đang hiểu (viết đầy đủ) (*):
PHP:
Sub vidu2()
Application.ThisWorkbook.Worksheets(1).Range("A1").Value = "Xin chao!"
End Sub

- Một số thuộc tính và phương thức thường dùng:
Mở workbook mới:
PHP:
Workbooks.Open(filepath)
Với filepath là đường dẫn của file cần mở.
Ví dụ:
PHP:
Workbooks.Open("C:\Users\Administrator\Desktop\Vidu.xlsx")
Tạo mới workbook.
PHP:
Workbooks.Add
Trả về tên đối tượng workbook trong VBA:
PHP:
ActiveWorkbook.CodeName
upload_2017-10-17_23-12-50.png

Trả về tên workbook để quản lý tập tin (tên file):
PHP:
ThisWorkbook.Name
Trả về đường dẫn thư mục chứa workbook.
PHP:
ThisWorkbook.Path
Tên workbook bao gồm cả đường dẫn thư mục chứa nó:
PHP:
ThisWorkbook.FullName
Lưu các thay đổi đã tác động lên workbook:
PHP:
ThisWorkbook.Save
Đóng workbook và lưu các thay đổi đã tác động lên workbook:
PHP:
ThisWorkbook.Close True '(SaveChanges = True)
Đóng workbook và không lưu các thay đổi đã tác động lên workbook:
PHP:
ThisWorkbook.Close False '(SaveChanges = False)

2. Đối tượng Worksheet
Trong VBA, khi xét tới đối tượng Worksheet thì nó là đối tượng cấp thứ 3, sau Workbook.
(Xem lại ví dụ (*) ở phần đối tượng workbook ở trên.)
upload_2017-10-17_23-13-2.pngupload_2017-10-17_23-13-6.png

- Có 3 cách để gọi (tham chiếu tới) đối tượng worksheet:
Cách 1: Sử dụng worksheet name – Là tên của bảng tính nhìn thấy ở trên thanh trạng thái (Sheet tabs).
PHP:
Sub wsName()
    Worksheets("Ten sheet 1").Range("A1").Value = "Xin chao!"
    ''Hoac co the viet sheets thay cho worksheets
    Sheets("Ten sheet 1").Range("A2").Value = "Xin chao!"
End Sub

# Cách 2: Sử dụng thứ tự sắp xếp của worksheet ở sheet tabs, tính từ trái qua phải, vị trí đầu tiên là 1
PHP:
Sub wsIndex()
    Sheets(1).Range("B1").Value = Sheets(1).Name & "-Vi tri=" & Sheets(1).Index
    Sheets(2).Range("B1").Value = Sheets(2).Name & "-Vi tri=" & Sheets(2).Index
End Sub

# Cách 3: Sử dụng CodeName của worksheet, là tên của đối tượng worksheet trong VBA
PHP:
Sub wsCodeName()
    Sheet1.Range("B2").Value = Sheets(1).Name
    Sheet2.Range("B2").Value = Sheets(2).Name
    Sheet1.Range("C1").Value = Sheet1.CodeName
    Sheet2.Range("C1").Value = Sheet2.CodeName
    MsgBox Sheet1.Index
End Sub

- Một số phương thức và thuộc tính thường dùng:
Count: Thuộc tính Count trả về số worksheets có trong một workbook.
PHP:
MsgBox Worksheets.Count
Activate: Phương thức Activate để kích hoạt worksheet được chỉ định.
PHP:
Sheet1.Activate
Select: Phương thức Select để chọn (một hoặc nhiều) worksheet(s) được chỉ định.
PHP:
Sheet1.Select
'Hoặc:'
Sheets(Array("TenSheet1", "TenSheet2")).Select
 

File đính kèm

  • worksheet object.xlsb
    18.5 KB · Đọc: 84
  • Open_Close Method.zip
    32.5 KB · Đọc: 82
Bài 5. Workbook, worksheet
...
2. Đối tượng Worksheet
Trong VBA, khi xét tới đối tượng Worksheet thì nó là đối tượng cấp thứ 3, sau Workbook.
(Xem lại ví dụ (*) ở phần đối tượng workbook ở trên.)

...

- Có 3 cách để gọi (tham chiếu tới) đối tượng worksheet:
Cách 1: Sử dụng worksheet name – Là tên của bảng tính nhìn thấy ở trên thanh trạng thái (Sheet tabs).
PHP:
Sub wsName()
    Worksheets("Ten sheet 1").Range("A1").Value = "Xin chao!"
    ''Hoac co the viet sheets thay cho worksheets
    Sheets("Ten sheet 1").Range("A2").Value = "Xin chao!"
End Sub

# Cách 2: Sử dụng thứ tự sắp xếp của worksheet ở sheet tabs, tính từ trái qua phải, vị trí đầu tiên là 1
PHP:
Sub wsIndex()
    Sheets(1).Range("B1").Value = Sheets(1).Name & "-Vi tri=" & Sheets(1).Index
    Sheets(2).Range("B1").Value = Sheets(2).Name & "-Vi tri=" & Sheets(2).Index
End Sub

...

- Một số phương thức và thuộc tính thường dùng:
Count: Thuộc tính Count trả về số worksheets có trong một workbook.
PHP:
MsgBox Worksheets.Count
Activate: Phương thức Activate để kích hoạt worksheet được chỉ định.
PHP:
Sheet1.Activate
Select: Phương thức Select để chọn (một hoặc nhiều) worksheet(s) được chỉ định.
PHP:
Sheet1.Select
'Hoặc:'
Sheets(Array("TenSheet1", "TenSheet2")).Select

Giải thích theo căn bản cấu trúc dữ liệu:

Khi nói về WorkSheets thì đối tượng WorkBook có hai collections:
1. Sheets - là collection chứa tất cả các Sheets trong WorkBook, kể cả Chart Sheets
2. WorkSheets - là collection chứa tất cả WorkSheets trong WorkBook.

Vì là collection cho nên chúng đều có các thuộc tính và phương thức căn bản của collection:
- Count = tổng số sheets (phần cuối trong bài quote ở trên)
- Dùng chỉ số để chỉ định/truy lục từng sheet (cách 2 trong phần quote ở trên)
- Dùng tên để chỉ định/truy lục sheet (cách 1 trong phần quote ở trên)

Lưu ý quan trọng: các collection ở trên liên hệ mật thiết với workbook, worksheet, range,... cho nên chúng theo luật chỉ số đầu của worksheet, tức là bắt đầu từ 1 (1-based index). Khác với các collection chuyên của lập trình có chỉ số bắt đầu từ 0 (0-based index)
 
Upvote 0
Web KT
Back
Top Bottom