- Tham gia
- 17/8/08
- Bài viết
- 8,662
- Được thích
- 16,720
- Giới tính
- Nam
Thay vì bạn thường dùng Sheet.Name hoặc Sheet.CodeName để điều khiển, chẳng hạn:
Bạn có một sheet tên là ABC và tên của sheet đó trong VBE là Sheet1, bạn thường dùng các tên này như sau:
(1) Sheets("ABC").Select => dùng Sheet.Name
hoặc:
(2) Sheet1.Select => dùng Sheet.CodeName
Với (2) bạn không biết cách nào để chuyển nó thành chuỗi để tiện sử dụng. Thông thường tên sheet hay bị thay đổi, nhưng Code Name ẩn bên trong thì không vì nó có hiện ra người ta sửa đâu, cho nên dùng Code Name với dạng chuỗi sẽ như thế nào đây?
Đã có giải pháp:
Cách thực hiện hàm này:
Nếu điều khiển sheet ở file hiện hành:
Và điều khiển sheet ở một file khác:
Bạn có một sheet tên là ABC và tên của sheet đó trong VBE là Sheet1, bạn thường dùng các tên này như sau:
(1) Sheets("ABC").Select => dùng Sheet.Name
hoặc:
(2) Sheet1.Select => dùng Sheet.CodeName
Với (2) bạn không biết cách nào để chuyển nó thành chuỗi để tiện sử dụng. Thông thường tên sheet hay bị thay đổi, nhưng Code Name ẩn bên trong thì không vì nó có hiện ra người ta sửa đâu, cho nên dùng Code Name với dạng chuỗi sẽ như thế nào đây?
Đã có giải pháp:
PHP:
Function MySheet(ByVal SheetCodeName As String, _
Optional ByVal WorkbookName As String) As Worksheet
Dim Wbk As Workbook
WorkbookName = Trim(WorkbookName)
SheetCodeName = Trim(SheetCodeName)
If WorkbookName = "" Then
Set Wbk = ActiveWorkbook
Else
Set Wbk = Workbooks(WorkbookName)
End If
SheetCodeName = Wbk.VBProject _
.VBComponents(SheetCodeName) _
.Properties("Name").Value
Set MySheet = Wbk.Worksheets(SheetCodeName)
End Function
Cách thực hiện hàm này:
Nếu điều khiển sheet ở file hiện hành:
PHP:
Sub Test()
With MySheet("sheet1")
MsgBox "Tên sheet hien tai: [ " & .Name & " ]"
.Name = "NGHIA_DEP_TRAI"
MsgBox "Tên sheet duoc thay doi: [ " & .Name & " ]"
.Range("A1").Value = "HOANG TRONG NGHIA"
.Range("A2").Value = "giaiphapexcel.com"
End With
End Sub
Và điều khiển sheet ở một file khác:
PHP:
Sub Test2()
With MySheet("sheet1", "CodeNameAction.xls")
MsgBox "Tên sheet hien tai: [ " & .Name & " ]"
.Name = "NGHIA_DEP_TRAI"
MsgBox "Tên sheet duoc thay doi: [ " & .Name & " ]"
.Range("A1").Value = "HOANG TRONG NGHIA"
.Range("A2").Value = "giaiphapexcel.com"
End With
End Sub