- Tham gia
- 16/3/07
- Bài viết
- 2,104
- Được thích
- 19,173
- Giới tính
- Nam
Tác giả: Lê Văn Duyệt
Thông thường khi các bạn đặt tên, chúng ta sẽ đánh dấu khối chúng ta cần đặt tên sau đó các bạn vào Insert/Name/Define hoặc các bạn cũng có thể phím nóng Ctrl + F3 để mở hộp thoại Define Name (Excel 2003 trở về trước).
Trong ô Names in workbook các bạn nhập vào tên vùng bạn muốn đặt. Trong ô Refers to các bạn nhập vào địa chỉ của vùng muốn đặt tên hoặc chọn nút kế bên (
) để chọn vùng. Chú ý, nếu muốn chọn vùng không liên tục các bạn cần bấm phím Ctrl trong khi chọn.
Đối với Excel 2007 trở về sau, bạn vào Formulas/ Define Name hoặc các bạn cũng có thể dùng phím nóng Ctrl + F3 để mở hộp thoại Name Manager.
Trong ô Name bạn nhập vào tên vùng bạn muốn đặt. Trong ô Refers to các bạn nhập vào địa chỉ của vùng này hoặc chọn nút kế bên (
) để chọn vùng. Tại Scope bạn chọn tầm vực của Name. Chú ý, nếu muốn chọn vùng không liên tục các bạn cần bấm phím Ctrl trong khi chọn.
Cách khác các bạn có thể chọn vùng cần đặt tên, sau đó nhập tên cần đặt vào hộp Name Box. Sau khi các bạn đặt tên các bạn sẽ thấy danh sách các tên sẽ hiện trong Name Box.
Cách đặt tên trong VBA
Chúng ta dùng phương thức Add của Names Collection.
TenVung : tên của vùng cần đặt
DiaChi: địa chỉ của vùng cần đặt
Các bạn có thể gán cho tên sẽ thấy trong Name Box hay không.
Trong trường hợp chúng ta đã đặt tên cho vùng A1:A10 là VungDuLieu, chúng ta cũng có thể dấu tên bằng việc thiết lập thuộc tính Visible:=False
Tên còn được dùng để lưu mảng, các bạn hãy xem ví dụ sau:
Sau khi đặt tên cho mảng, chúng ta có thể sử dụng mảng này bằng việc gán tên chúng ta vừa đặt ở bước trên cho biến.
Ngoài việc lưu mảng trong Names chúng ta cũng có thể lưu hằng trong Names.
Các bạn hãy xem ví dụ sau:
Với việc đặt tên như thế này, tên sẽ không hiện ra trong Name Box. Các bạn có thể dùng những tên này giống như một hằng trong Excel hoặc trong VBA.
Chú ý: Khi lưu chuỗi ký tự chúng ta chỉ có thê lưu tối đa là 255 ký tự.
v = [StoreNumber]
(còn tiếp...)
Thông thường khi các bạn đặt tên, chúng ta sẽ đánh dấu khối chúng ta cần đặt tên sau đó các bạn vào Insert/Name/Define hoặc các bạn cũng có thể phím nóng Ctrl + F3 để mở hộp thoại Define Name (Excel 2003 trở về trước).
Trong ô Names in workbook các bạn nhập vào tên vùng bạn muốn đặt. Trong ô Refers to các bạn nhập vào địa chỉ của vùng muốn đặt tên hoặc chọn nút kế bên (
Đối với Excel 2007 trở về sau, bạn vào Formulas/ Define Name hoặc các bạn cũng có thể dùng phím nóng Ctrl + F3 để mở hộp thoại Name Manager.
Trong ô Name bạn nhập vào tên vùng bạn muốn đặt. Trong ô Refers to các bạn nhập vào địa chỉ của vùng này hoặc chọn nút kế bên (
Cách khác các bạn có thể chọn vùng cần đặt tên, sau đó nhập tên cần đặt vào hộp Name Box. Sau khi các bạn đặt tên các bạn sẽ thấy danh sách các tên sẽ hiện trong Name Box.
Cách đặt tên trong VBA
Mã:
Application.Names.Add Name: =TenVung, RefersTo: =DiaChi, Visible: =True
Chúng ta dùng phương thức Add của Names Collection.
TenVung : tên của vùng cần đặt
DiaChi: địa chỉ của vùng cần đặt
Các bạn có thể gán cho tên sẽ thấy trong Name Box hay không.
Trong trường hợp chúng ta đã đặt tên cho vùng A1:A10 là VungDuLieu, chúng ta cũng có thể dấu tên bằng việc thiết lập thuộc tính Visible:=False
Tên còn được dùng để lưu mảng, các bạn hãy xem ví dụ sau:
Mã:
Sub ArrayToName()
Dim aiArray(1 To 200, 1 To 3) As Long
Dim iRow As Long
Dim iColumn As Long
'Tạo mảng
For iRow = 1 To 200
For iColumn = 1 To 3
aiArray(iRow, iColumn) = iRow + iColumn
Next iColumn
Next iRow
'Sau khi tạo xong sẽ lưu mảng này với tên MyName
Names.Add Name:="MyName", RefersTo:=aiArray
End Sub
Sau khi đặt tên cho mảng, chúng ta có thể sử dụng mảng này bằng việc gán tên chúng ta vừa đặt ở bước trên cho biến.
Mã:
Sub NameToArray()
Dim vArray As Variant
'Gán tên của mảng cho biến vArray
vArray = [MyName]
'Hiện phần tử của mảng
MsgBox vArray(200, 3)
End Sub
Ngoài việc lưu mảng trong Names chúng ta cũng có thể lưu hằng trong Names.
Các bạn hãy xem ví dụ sau:
Mã:
Sub LuuHang()
Dim v As Variant
v = 3.14159
Names.Add Name:="StoreNumber", RefersTo:=v
v = "Sales"
Names.Add Name:="StoreString", RefersTo:=v
End Sub
Với việc đặt tên như thế này, tên sẽ không hiện ra trong Name Box. Các bạn có thể dùng những tên này giống như một hằng trong Excel hoặc trong VBA.
Chú ý: Khi lưu chuỗi ký tự chúng ta chỉ có thê lưu tối đa là 255 ký tự.
v = [StoreNumber]
(còn tiếp...)
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote
0