SheetName "động"

Liên hệ QC
Status
Không mở trả lời sau này.

anhtuan1066

Thành viên gạo cội
Tham gia
10/3/07
Bài viết
5,802
Được thích
6,911
Ta thường nghe nói Name "động" chứ ít nghe nói SheetName động...
Điều này có thể làm dc dựa vào code sau đây:

Sub TabName()
Set Target = Range("A1")
If Target = "" Or Target = "/" Or Target = "\" Or Target = "?" Or Target = "*" Or Target = "[" Or Target = "]" Then Exit Sub
ActiveSheet.Name = ActiveSheet.Range("A1")
End Sub

SheetName sẽ lấy theo nội dung của cell A1, các bạn cứ thử gõ gì đó vào A1, chạy code thì sẽ thấy... Còn chuyện nó "động" như thế nào là dựa vào sáng tạo của chúng ta... Cái này chắc phải nhờ Bắp làm 1 VD nho nhỏ, tôi nghĩ ko ra...
Mến
ANH TUẤN
 
Tôi chỉ nghĩ ra dc 1 cách là dựa vào WorkSheet_Change đễ đổi tên Sheet ngay lập tức khi cell A1 thay đổi:

Private Sub Worksheet_Change(ByVal Target As Range)
Set Target = Range("A1")
If Target = "" Or Target = "/" Or Target = "\" Or Target = "?" Or Target = "*" Or Target = "[" Or Target = "]" Then Exit Sub
ActiveSheet.Name = ActiveSheet.Range("A1")
End Sub

Còn ứng dụng mở rộng thêm thì chưa nghĩ ra dc... Các bạn có thể góp ý dc ko?
ANH TUẤN
 
Upvote 0
Code này sửa lại 1 tí nhé!

Private Sub Worksheet_Change(ByVal Target As Range)
Dim strName As String
On Error GoTo InvalidName
strName = Sheet1.Range("A1")
ActiveSheet.Name = strName

Exit Sub
InvalidName: MsgBox "Ten: " & strName & _
" khong hop le.", vbCritical, "DAT LAI TEN SHEET"
End Sub

Bắp ơi! Nghĩ dùm xem cái này có thể ứng dụng cái gì đây? Cho 1file VD nhé!
ANH TUẤN
 
Upvote 0
Status
Không mở trả lời sau này.
Web KT

Bài viết mới nhất

Back
Top Bottom