128
MsgBox Windows(2).ActiveCell.Address
ActiveSheet
Thuộc tính này tham chiếu đến sheet hiện hành của workbook đang xét.
Caption
Thuộc tính này chứa nội dung ghi trên thanh tiêu đề của cửa sổ. Đoạn mã sau sẽ thay đổi dòng
tiêu đề của cửa sổ hiện hành:
ActiveWindow.Caption = “MyWindow”
Close
Close là hàm thực hiện đóng cửa sổ đang xét. Hàm này trả về giá trị TRUE nếu đóng được cửa
sổ, và trả về giá trị FALSE nếu cửa sổ không được đóng. Hàm này cũng chứa các tham số tuỳ
chọn khác, chi tiết xem thêm phương thức Close của đối tượng Workbook trang 125.
Cácthuộctínhvềhiểnthị
Đối tượng Window có chứa nhiều thuộc tính để thiết l
ập các lựa chọn về hiển thị trong cửa số
như sau:
Thuộc tính Giải thích
DisplayFormulas TRUE: tất cả các ô sẽ hiển thị công thức chứ không phải giá trị
DisplayGridlines TRUE: hiển thị các đường lưới bên trong cửa sổ
DisplayHeadings TRUE: hiển thị thanh thể hiện vị trí của cột và hàng
DisplayHorizontalScrollBar TRUE: hiển thị thanh cuộn ngang
DisplayOutline TRUE: hiển thị thanh thể hiện Outline
DisplayRightToLeft TRUE: hiển thị trật tự cột tăng dần từ phải sang trái. Mặc định là FALSE
DisplayVerticalScrollBar TRUE: hiển thị thanh cuộn đứng
DisplayWorkbookTabs TRUE: hiển thị thẻ chứa các sheet trong workbook
DisplayZeros FALSE: các ô có giá trị bằng 0 sẽ không hiển thị
Đoạn mã sau sẽ ẩn đi thẻ chứa các sheet trong workbook hiện hành:
ActiveWindow.DisplayWorkbookTabs = False
NewWindow
Phương thức này sẽ tạo một cửa sổ mới dựa trên cửa sổ đang được tham chiếu giống như khi
chọn trình đơn WindowÖNew Window trong Excel vậy.
ActiveWindow.NewWindow
C
C
H
H
Ư
Ư
Ơ
Ơ
N
N
G
G
I
I
V
V
:
:
L
L
Ậ
Ậ
P
P
T
T
R
R
Ì
Ì
N
N
H
H
T
T
R
R
Ê
Ê
N
N
M
M
I
I
C
C
R
R
O
O
S
S
O
O
F
F
T
T
E
E
X
X
C
C
E
E
L
L
129
RangeSelection
Thuộc tính này tham chiếu đến vùng đang được chọn trong cửa sổ được tham chiếu. Kiểu dữ
liệu của thuộc tính này là Range. Đoạn mã sau sẽ hiển thị địa chỉ của vùng được chọn trong cửa
sổ hiện hành:
MsgBox ActiveWindow.RangeSelection.Address
Giá trị hiển thị có thể ở dạng địa chỉ tuyệt đối của một ô - $C$3, hoặc một vùng chọn -
$B$10:$D$12.
SelectedSheets
SelectedSheets là tập đối tượng chứa tất cả các sheet đang được người dùng lựa chọn. Kiểu dữ
liệu của thuộc tính này là Sheets, vì thế tất cả các thao tác trên tập đối tượng SelectedSheets
cũng giống như trên tập đối tượng Sheets
WindowState
Thuộc tính này lưu trữ
trạng thái của đối tượng Window. Có 3 trạng thái của đối tượng
Window như sau:
Trạng thái đối tượng Window Giá trị của thuộc tính
Cửa sổ được phóng đại toàn màn hình xlMaximized
Cửa sổ được thu nhỏ xlMinimized
Cửa sổ ở trạng thái thông thường xlNormal
Đoạn mã sau sẽ thu nhỏ cửa sổ hiện hành:
ActiveWindow.WindowState = xlMinimized
Zoom
Thuộc tính này dùng để thiết lập chế độ phóng đại cho cho cửa sổ, giống như khi ta sử dụng
trình đơn ViewÖZoom trong Excel. Đoạn mã sau sẽ phóng đại cửa sổ hiện hành lên 120%:
ActiveWindow.Zoom = 120
GỢI Ý Trong Excel, để thu/phóng cửa sổ, chỉ cần nhấn phím CTRL + cuộn phím giữa của
chuột.
5.2.4. Đối tượng Worksheet
Đối tượng Worksheet thể hiện cho một worksheet trong một workbook. Đây là đối tượng rất
phổ biến trong excel, hầu hết các thao tác đều được tiến hành trong một worksheet.
CHÚ Ý Worksheet chỉ là một trong nhiều dạng sheet của một workbook. Chi tiết về các
loại sheet trong Excel, xem thêm mục “
Đối tượng Workbook
” trang 124.
Trong cây phân cấp đối tượng, đối tượng Worksheet nằm sau tập đối tượng Worksheets của đối
tượng Workbook. Vì vậy, các đối tượng Worksheet đều được truy cập thông qua tập đối tượng
Worksheets. Tương tự như đối với đối tượng Window, mỗi đối tượng Worksheet đều được truy
cập thông qua tập đối tượng Worksheets bằng tên của worksheet hoặc theo thứ tự của nó.
130
Một cách khác để biết thứ tự của worksheet, đó là xem thứ tự xuất hiện trên thẻ chứa các sheet
trong bảng tính.
Hình IV-13: Thứ tự của Worksheet
Trong minh hoạ trên, vị trí thứ 2 là của Chart sheet nên không được tính trong thứ tự của các
worksheet.
Để tạo một worksheet mới, sử dụng phương thức Add có trong tập đối tượng Worksheets.
Worksheets.Add
Dưới đây là các phương thức và thuộc tính phổ biển trong đối tượng worksheet.
Calculate
Phương thức này thực hiện quá trính tính toán cho toàn bộ worksheet được tham chiếu (xem
thêm mục “Calculation” trang 122):
Worksheets(“Sheet1”).Calculate
Comments
Là tập đối tượng chứa tất cả các chú thích
1
có trong worksheet đang được tham chiếu. Kiểu dữ
liệu trả về là kiểu Comment. Đoạn mã sau sẽ hiển thị nội dung của tất cả các chú thích có trong
sheet hiện hành:
Dim myComment As Comment
For Each myComment In Worksheets(“Sheet1”).Comments
MsgBox myComment.Text
Next myComment
Delete
Phương thức này sẽ xoá worksheet được tham chiếu, giống như khi chọn trình đơn
EditÖDelete Sheet trong Excel. Đoạn mã sau sẽ xoá worksheet tên là “Sheet3”:
Worksheets(“Sheet3”).Delete
Name
Thuộc tính này trả về tên của worksheet giống như được hiển thị trên thẻ chứa các sheet trong
workbook.
PrintOutvàPrintPreview
1
Chú thích là một đoạn văn bản gắn thêm vào một ô nào đó. Đoạn văn bản này được hiện lên mỗi khi người dùng
di chuột trên ô. Ô nào có chú thích thì sẽ có thêm biểu tượng hình tam giác màu đỏ ở góc trên bên phải của ô. Để
tạo chú thích cho một ô, chọn trình đơn InsertÖComment trong Excel.
C
C
H
H
Ư
Ư
Ơ
Ơ
N
N
G
G
I
I
V
V
:
:
L
L
Ậ
Ậ
P
P
T
T
R
R
Ì
Ì
N
N
H
H
T
T
R
R
Ê
Ê
N
N
M
M
I
I
C
C
R
R
O
O
S
S
O
O
F
F
T
T
E
E
X
X
C
C
E
E
L
L
131
Những phương thức này dùng để thực hiện in hoặc xem trước khi in một worksheet. Chi tiết về
các tham số cho phương thức PrintOut, xem lại mục “Đối tượng Workbook - PrintOut” trang
126.
Worksheets(“Sheet2”).PrintOut PrintPreview:=True ’In, có xem
trước
Worksheets(“Sheet3”).PrintPreview ’Xem trước khi
in
ProtectvàUnprotect
Phương thức Protect sẽ bật chế độ bảo vệ cho worksheet giống như khi chọn từ trình đơn
ToolsÖProtectionÖProtect Sheet trong Excel. Nếu cần tạo mật khẩu để yêu cầu người dùng
nhập mỗi khi tắt chế độ bảo vệ, người dùng có thể nhập thêm vào tham số chuỗi ký tự chứa mật
khẩu trong phương thức Protect
Worksheets(“Sheet2”).Protect ’Bật chế độ bảo vệ
Worksheets(“Sheet2”).Protect Password:="Excel" ’Bảo vệ, có mật khẩu
Phương thức Unprotect sẽ tắt chế độ bảo vệ của worksheet. Đối với những worksheet được bảo
vệ bằng mật khẩu, cần phải truyền thêm tham số là chuỗi ký tự chứa mật khẩu để tắt chế độ bảo
vệ; nếu không truyền tham số mật khẩu, một hộp thoại sẽ được hiện lên để người sử dụng nhập
vào mật khẩu.
Worksheets(“Sheet2”).Unprotect Password:="Excel" ’Tắt chế độ bảo vệ
Range
Đây là thuộc tính rất quan trọng trong lập trình trên Excel. Thuộc tính này sẽ được trình bày rõ
hơn trong mục “Đối tượng Range” trang 132.
Select
Phương thức này sẽ chọn worksheet tham chiếu làm worksheet hiện hành, tương tự như khi
chọn worksheet trên thẻ chứa các sheet của workbook.
Worksheets(“Sheet2”).Select ‘Chọn Sheet2 làm sheet hiện hành
SetBackgroundPicture
Phương thức này sẽ chọn một ảnh làm ảnh nền cho worksheet, giống như khi chọn trình đơn
FormatÖSheetÖBackground… trong Excel. Tham số bắt buộc phải nhập vào là tên tệp đồ
hoạ dùng để làm ảnh nền, bao gồm cả đường dẫn đầy đủ. Nếu muốn xoá ảnh nền, chỉ cần nhập
tham số tên tệp đồ hoạ bằng rỗng.
Worksheets(“Sheet1”).SetBackgroundPicture "C:\MyPicture.jpg"
Worksheets(“Sheet1”).SetBackgroundPicture "" ’Xoá ảnh
nền
Visible
Thuộc tính này thiết lập sự hiển thị của worksheet, bằng TRUE nếu worksheet được hiển thị.
Việc thay đổi giá trị của thuộc tính này cũng tương tự như khi chọn từ trình đơn
FormatÖSheetÖHide/Unhide… trong Excel.
Worksheets(“Sheet1”).Visible = False ’Ẩn Sheet1
132
Worksheets(“Sheet1”).Visible = True ’Hiển thị lại Sheet1
Name–ĐặttênchomộtvùngdữliệutrongWorksheet
Sử dụng thuộc tính Name để đặt tên cho vùng dữ liệu cần thao tác theo cách sau:
Dim a As Worksheet
Set a = Worksheets("Sheet1")
a.Names.Add "ABC", "=$A$1:$D$5"
CHÚ Ý Nếu tên được đặt đã có thì vùng dữ liệu cũ sẽ được định nghĩa lại theo phạm vi
mới. Nếu vùng dữ liệu khôn có dấu $ thì nó sẽ tự động tịnh tiến theo vị trí của ô hiện
hành.
5.2.5. Đối tượng Range
Đối tượng Range tham chiếu đến một ô hoặc một vùng dữ liệu trên bảng tính. Đây là đối tượng
phổ biến nhất trong Excel, bởi hầu hết các tương tác với Excel đều được thực hiện dựa trên các
ô và vùng dữ liệu. Với đối tượng Range, người lập trình không chỉ tác động lên một ô riêng lẻ
mà còn có thể tác động lên nhiều ô cùng một lúc.
Thamchiếuđếnđối
tượngRange
Việc tham chiếu đến đối tượng Range được thực hiện dựa trên địa chỉ của các ô và được thực
hiện theo nhiều phương thức khác nhau. Để làm rõ hơn cách thức tham chiếu, các ví dụ sau sẽ
thực hiện gán giá trị cho vùng dữ liệu được tham chiếu.
Để tham chiếu đến một ô nào đó, chỉ cần nhập địa chỉ của ô. Địa chỉ của ô có thể là ki
ểu địa chỉ
tương đối, hoặc tuyệt đối. Ví dụ sau sẽ tham chiếu đến ô B2:
ActiveSheet.Range("B2").Value = 9
‘hoặc có thể gán trực tiếp như sau:
ActiveSheet.Range("B2") = 9
Trong trường hợp nếu người dùng có một vùng dữ liệu được đặt tên, người lập trình có thể
tham chiếu đến vùng dữ liệu đó thông qua tên của vùng dữ liệu. Giả sử trong Sheet1 có một
vùng dữ liệu từ ô A2 đến ô B3 được đặt tên là Input, thì cách tham chiếu như sau:
Worksheets("Sheet1").Range("SoLieu") = 9