Ví dụ sau sẽ hiển thị lần lượt tên của các tệp mở sau cùng nhất trong Excel: Public Sub RecentFile Dim myRecentFile As RecentFile For Each myRecentFile In Application.RecentFiles M
Trang 1CHƯƠNG IV: LẬP TRÌNH TRÊN MICROSOFT EXCE
123
Muốn thiết lập lại giá trị mặc định (Microsoft Excel), chỉ cần gán giá trị của Caption= “”
Columns và Rows
Là hai tập đối tượng thể hiện tất cả các cột và các hàng trong sheet hiện hành, ta có thể sử dụng
để truy cập một cột hoặc một hàng nào đó
Đoạn mã sau sẽ chọn toàn bộ cột C:
Application.Columns(3).Select
Còn đoạn mã sau sẽ chọn toàn bộ hàng thứ 9:
Application.Rows(9).Select
Dialogs
Dialogs là tập đối tượng chứa tất cả các hộp thoại đã được định nghĩa sẵn trong Excel Chi tiết
về tập đối tượng này, tham khảo mục “Các hộp thoại mặc định trong Excel – Tập đối tượng Dialogs” trang 167
Help
Phương thức này hiển thị tệp trợ giúp do người dùng chỉ định
Application.Help "C:\Program Files\" & _
"Microsoft Office\OFFICE11\1033\VBAXL10.CHM"
Nếu không chỉ ra tệp trợ giúp, phương thức này sẽ hiển thị tệp trợ giúp mặc định trong Excel
Quit
Phương thức này sẽ đóng chương trình Excel lại, giống như khi lựa chọn trình đơn FileÖExit
Chương trình sẽ nhắc người dùng lưu lại các tệp chưa được lưu
Application.Quit
RecentFiles
RecentFiles là tập đối tượng lưu giữ những tệp mở sau cùng nhất trong Excel Mỗi đối tượng trong tập đối tượng RecentFiles có kiểu dữ liệu là RecentFile Ví dụ sau sẽ hiển thị lần lượt tên của các tệp mở sau cùng nhất trong Excel:
Public Sub RecentFile()
Dim myRecentFile As RecentFile
For Each myRecentFile In Application.RecentFiles
MsgBox myRecentFile.Path
Next myRecentFile
End Sub
Selection
Thuộc tính này thể hiện cho đối tượng đang được chọn trong Excel Kiểu dữ liệu trả về của thuộc tính này tuỳ thuộc vào đối tượng được chọn Nếu đối tượng chọn là các ô, biểu đồ, hoặc một đường thẳng thì kiểu dữ liệu trả về tương ứng sẽ là Range, ChartArea, Line Vì vậy khi lập trình, cần phải chú ý kiểm tra kiểu dữ liệu trả về của thuộc tính này để có các thao tác hợp
lý, tránh lỗi xảy ra khi thực thi chương trình Ví dụ sau sẽ hiển thị địa chỉ của các ô đang được chọn trong Excel:
Trang 2124
Dim mySelection As Variant
Set mySelection = Selection
If TypeName(mySelection) = "Range" Then ‘Kiểm tra kiểu dữ liệu
MsgBox mySelection.Address
Else
MsgBox "Đối tượng được chọn không phải kiểu Range"
End If
Sheets
Sheets là tập đối tượng chứa tất cả các sheet có trong workbook hiện hành, gồm cả 4 loại sheet: worksheet, chart sheet, macro sheet và dialog sheet Đoạn macro sau sẽ hiển thị tên và kiểu của tất cả các sheet có trong workbook hiện hành:
Sub Sheets()
Dim mySheet As Variant
For Each mySheet In Application.Sheets
MsgBox mySheet.Name & " - " & TypeName(mySheet)
Next mySheet
End Sub
ThisWorkbook
Thuộc tính này trả về đối tượng thể hiện cho workbook hiện hành, nơi đang thực hiện macro Kiểu dữ liệu của thuộc tính này là Workbook
Undo
Phương thức này sẽ khôi phục lại các thao tác trước đó trong Excel Thao tác này tương tự như
khi chọn trình đơn EditÖUndo… trong Excel
Application.Undo
CHÚ Ý Khi truy cập đến một đối tượng thuộc một đối tượng khác, nếu không chỉ rõ tham
chiếu đối tượng thì đối được tham chiếu sẽ là đối tượng hiện hành Ví dụ như nếu muốn truy cập vào ô A1 của Sheet1 của workbook hiện hành, thay vì sử dụng câu lệnh
“ActiveWorkbook.Worksheets(“Sheet1”).Range(“A1”)” chỉ cần dùng câu lệnh
“Worksheets(“Sheet1”).Range(“A1”)” Hoặc nếu sử dụng câu lệnh “Range(“A1”).Select” thì
ô A1 của sheet hiện hành sẽ được chọn
5.2.2 Đối tượng Workbook
Workbook là một đối tượng phổ biến trong Excel Hầu hết tất cả các thao tác trên Excel đều được thực hiện trên một workbook nào đó Trong mỗi phiên làm việc của Excel có thể có rất nhiều workbook được mở, và việc truy cập đến một workbook nào đó sẽ được thực hiện thông qua tập đối tượng Workbooks, dựa trên tên hoặc chỉ số của các workbook, chỉ số này phụ thuộc vào trình tự mở/tạo workbook Ngoài ra, người lập trình còn có thể truy xuất đến workbook hiện hành thông qua đối tượng ActiveWorkbook
Để tạo mới một workbook, sử dụng phương thức Add có trong tập đối tượng Workbooks: Workbooks.Add ’Tạo mới một Workbook
Mỗi workbook trong Excel có thể chứa nhiều sheet khác nhau (tuỳ thuộc vào dung lượng bộ nhớ) Có 4 loại sheet khác nhau:
Trang 3CHƯƠNG IV: LẬP TRÌNH TRÊN MICROSOFT EXCE
125
Ø Worksheet: đây là loại sheet phổ biến nhất, là loại sheet thực hiện việc tính toán và thao tác chính trong Excel Mỗi sheet bao gồm 256 cột và 65536 hàng tạo thành hệ thống các
ô chứa dữ liệu Ngoài ra, trên mỗi worksheet còn thế chứa các đối tượng khác như biểu
đồ, các đối tượng đồ hoạ, các điều khiển,…
Ø Chart sheet: mỗi chart sheet thường chỉ chứa một biểu đồ Thông thường, người dùng thích sử dụng biểu đồ nhúng trong worksheet hơn là sử dụng biểu đồ trong một chart sheet riêng biệt Tuy nhiên, chart sheet lại giúp cho việc bố trí và in ấn biểu đồ thực hiện
dễ dàng hơn
Ø XLM macro sheets (còn gọi là MS Excel 4 macro sheet, là loại sheet đã lỗi thời, nhưng vẫn còn hỗ trợ): dùng để chứa các macro XLM XLM macro sheet cũng có chứa các ô dữ liệu nhưng chỉ hiển thị công thức chứ không hiển thị kết quả tính
Ø Dialog sheets (đã lỗi thời, nhưng vẫn còn hỗ trợ): là nơi chứa các hộp thoại tuỳ biến do người dùng tự tạo (giống như Userform trong VBA)
Các phương thức và thuộc tính thường được sử dụng của đối tượng workbook:
Activate
Phương thức này sẽ kích hoạt một workbook trong tập đối tượng Workbooks thành workbook hiện hành, và sheet hiện hành của workbook đó sẽ được kích hoạt làm sheet hiện hành trong Excel
Để kích hoạt workbook có tên Book1 làm workbook hiện hành, thực hiện như sau:
Workbooks(“Book1”).Activate
Còn để kích hoạt workbook đầu tiên trong Excel, thực hiện như sau:
Workbooks(1).Activate
ActiveSheet
Thuộc tính này tham chiếu đến sheet hiện hành của workbook Trong mỗi phiên làm việc của Excel, số lượng Workbook được mở là không hạn chế, mỗi workbook này đều có một sheet hiện hành, nghĩa là khi ta chọn làm việc với workbook đó thì con trỏ sẽ nằm trong sheet này Kiểu dữ liệu trả về của thuộc tính này tuỳ thuộc vào kiểu sheet hiện hành (một trong 4 loại) Trong đối tượng Application cũng có thuộc tính ActiveSheet, nhưng thuộc tính này là sheet hiện hành của workbook hiện hành, nghĩa là nơi có con trỏ đang hoạt động, như vậy, nếu workbook này là hiện hành thì thuộc tính ActiveSheet của đối tượng Application và của đối tượng Workbook là như nhau
Đoạn mã lệnh sau hiển thị tên của sheet hiện hành của workbook tên là Book1:
MsgBox Workbooks(“Book1”).ActiveSheet.Name
Close
Phương thức này sẽ đóng workbook lại, tương tự như khi sử dụng trình đơn FileÖClose trong
Excel Ngoài ra còn có các tham số tuỳ chọn khác phục vụ cho việc lưu trữ tệp
Workbooks(“Book1”).Close ([SaveChanges],[Filename])
Trong đó ý nghĩa của các tham số như sau:
Trang 4126
Ø SaveChanges: tham số tuỳ chọn Bằng TRUE nếu muốn lưu tất cả các thay đổi, và bằng FALSE nếu chỉ muốn đóng workbook mà không lưu Nếu bỏ qua, tuỳ chọn này thì
phương thức này sẽ giống hoàn toàn như khi ta chọn trình đơn FileÖClose
Ø Filename: tham số tuỳ chọn Sẽ lưu tệp với tên chứa trong Filename
PrintOut
Phương thức này sẽ in sheet hiện hành của workbook ra máy in
Workbooks(1).PrintOut
Phương thức này còn có rất nhiều tham số khác nữa, tất cả đều là tham số tuỳ chọn:
Ø From: số thứ tự trang bắt đầu in, nếu bỏ qua thì sẽ in từ đầu
Ø To: số thứ tự trang cuối cùng được in, nếu bỏ qua thì sẽ in đến trang cuối cùng
Ø Copies: số bản sao khi in ra, nếu bỏ qua thì chỉ in một bản
Ø Preview: nếu bằng TRUE, Excel sẽ hiển thị cửa sổ xem trước khi in Nếu bằng FALSE, hoặc bỏ qua, thì sẽ in trực tiếp
Ø ActivePrinter: thiết lập tên cho máy in hiện hành
Ø PrintToFile: nếu bằng TRUE sẽ in ra tệp Trong trường hợp đó, nếu không gán giá trị cho tham số PrToFileName, Excel sẽ hiển thị hộp thoại để người dùng nhập vào tên tệp
Ø Collate: nếu bằng TRUE và số bản sao lớn hơn 1, Excel sẽ sắp xếp các bản in thành từng tập hoàn thiện
Ø PrToFileName: nếu tham số PrinToFile gán bằng TRUE thì tham số này sẽ thiết lập tên tệp để in ra
PrintPreview
Phương thức này sẽ hiển thị chế độ xem trước khi in cho sheet hiện hành của workbook tham chiếu
Workbooks(1).PrintPreview
Save và SaveAs
Các phương thức này sẽ lưu workbook và thường được dùng trước khi đóng workbook Phương thức Save sẽ lưu những thay đổi vào chính workbook đó Còn phương thức SaveAs sẽ lưu workbook ra một tệp mới Đoạn mã sau sẽ lưu workbook có tên Book1 và sau đó lưu workbook có tên là Book3 với tên mới là MyFile.xls:
Workbooks(“Book1”).Save
Workbooks(“Book3”).SaveAs “C:\MyFile.xls”
Saved
Thuộc tính này trả về giá trị TRUE nếu workbook đã được lưu, và ngược lại là FALSE Đoạn
mã sau sẽ hiển thị trạng thái lưu của workbook:
MsgBox Workbooks(1).Saved
Sheets
Trang 5CHƯƠNG IV: LẬP TRÌNH TRÊN MICROSOFT EXCE
127
Tập đối tượng Sheets của workbook cũng giống như tập đối tượng Sheets của đối tượng
Application (xem lại mục “Sheets” trang 124) Tuy nhiên, tập đối tượng sheets của workbook
tham chiếu trực tiếp đến các sheet trong workbook đó, còn tập đối tượng sheets của đối tượng Application lại tham chiếu đến các sheet trong workbook hiện hành
Windows
Windows là tập đối tượng chứa tất cả các cửa sổ có trong đối tượng Workbook Chi tiết về tập
đối tượng Windows, xem thêm mục “Đối tượng Window” trang 127
Worksheets
Worksheets là tập đối tượng chứa tất cả các worksheet có trong đối tượng Workbook Chi tiết
về tập đối tượng Worksheets, xem thêm mục “Đối tượng Worksheet” trang 129
5.2.3 Đối tượng Window
Đối tượng Window thể hiện cho một cửa sổ bên trong ứng dụng Excel Như đã được đề cập, đối tượng Window rất dễ nhầm lẫn với đối tượng Workbook Thoạt nhìn, mỗi workbook cũng giống như một cửa sổ trong Excel, nhưng thực chất không phải vậy Để rõ hơn sự khác biệt giữa đối tượng workbook và đối tượng window, ta tạo thêm một cửa sổ mới bằng cách chọn
trình đơn WindowÖNew Window Cửa sổ mới được tạo có nội dung giống như cửa sổ ban
đầu, nhưng người dùng có thể làm việc trên hai cửa sổ này giống như khi làm việc trên 2 workbook riêng biệt (mặc dù cả hai cửa sổ đều là thể hiện của cùng một workbook) Đương nhiên, sự thay đổi ở cửa sổ này sẽ được tự động cập nhập trong các cửa sổ còn lại Và như vậy, mỗi một workbook có thể được thể hiện bằng nhiều cửa số khác nhau, nhưng mỗi một cửa sổ chỉ thể hiện được một workbook mà thôi
Để truy xuất đến một đối tượng trong tập đối tượng Windows, người dùng có thể truy cập theo tên hoặc theo thứ tự của cửa sổ Để truy xuất đến cửa sổ có tiêu đề là Book1 (là dòng chữ xuất hiện trên thanh tiêu đề của cửa sổ), ta sử dụng cấu trúc sau:
Windows(“Book1”)
Để truy xuất đến cửa sổ thứ 2 trong tập đối tượng Windows, ta sử dụng cấu trúc sau:
Windows(2)
Số thứ tự của một cửa sổ là không cố định mà thay đổi tuỳ theo số cửa sổ hiển thị và sự thay đổi của cửa sổ hiện hành Cửa sổ hiện hành luôn có thứ tự là l
Dưới đây là các phương thức và thuộc tính thường sử dụng trong đối tượng Window:
Activate, ActivateNext và ActivatePrevious
Các phương thức này dùng để kích hoạt một cửa sổ nào đó trong tập đối tượng Windows Activate, ActivateNext và ActivatePrevious dùng để kích hoạt cửa sổ được chỉ định, cửa sổ tiếp theo và cửa sổ trước của cửa sổ được chỉ định Đoạn mã sau sẽ kích hoạt cửa sổ tên là Book1, sau đó sẽ kích hoạt cửa sổ nằm phía trước của cửa sổ Book1
Windows("Book1").Activate
Windows("Book1").ActivatePrevious
ActiveCell
Thuộc tính này tham chiếu đến ô hiện hành, là ô có con trỏ đang hoạt động, trong đối tượng Window Đoạn mã sau sẽ hiển thị địa chỉ của ô hiện hành trong cửa sổ thứ 2 trong tập đối tượng Windows:
Trang 6128
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ác thuộc tính về hiển thị
Đố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:
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
Trang 7CHƯƠNG IV: LẬP TRÌNH TRÊN MICROSOFT EXCE
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:
Cửa sổ được phóng đại toàn màn hình xlMaximized
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ó
Trang 8130
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ích1 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
PrintOut và 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
Trang 9CHƯƠNG IV: LẬP TRÌNH TRÊN MICROSOFT EXCE
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
trước
in
Protect và 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 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
Trang 10132
Worksheets(“Sheet1”).Visible = True ’Hiển thị lại Sheet1
Name – Đặt tên cho một vùng dữ liệu trong Worksheet
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
Tham chiếu đến đối tượng Range
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