Cách lấy tên các sheet có trong workbook và kết nối với các sheet đó

Liên hệ QC

Hai Lúa Miền Tây

❆❆❆❆❆❆❆❆
Thành viên BQT
Administrator
Tham gia
18/3/08
Bài viết
8,309
Được thích
15,867
Giới tính
Nam
Nghề nghiệp
Làm ruộng.
Chào cả nhà,

Dưới đây là đoạn code lấy danh sách các sheet có trong workbook và kết nối với các sheet đó:
Mã:
Sub TaoDanhSachSheet()
Dim shtName As String
Dim shtLink As String
Dim rowNum As Integer
Dim newSht As Worksheet
Dim i As Long
 Application.DisplayAlerts = False
    On Error Resume Next
    ActiveWorkbook.Worksheets("TRANG CHINH").Delete
    On Error GoTo 0
    Application.DisplayAlerts = True
Set newSht = Sheets.Add
newSht.Name = "TRANG CHINH"
newSht.Select
newSht.Range("A1").Value = "DANH SACH SHEET CO TRONG FILE NAY"
newSht.Range("A1").Font.Bold = True
newSht.Range("A1").Font.Color = 255
rowNum = 2
For i = 1 To Sheets.Count
If Sheets(i).Visible = True _
And Sheets(i).Name <> ActiveSheet.Name _
And IsSheet(Sheets(i).Name) Then
shtName = Sheets(i).Name
shtLink = "'" & shtName & "'!A1"
newSht.Cells(rowNum, 1).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", _
SubAddress:=shtLink, TextToDisplay:=shtName
rowNum = rowNum + 1
End If
Next i
Columns("A:A").EntireColumn.AutoFit
End Sub
Public Function IsSheet(cName As String) As Boolean
Dim tmpChart As Chart
On Error Resume Next
Set tmpChart = Charts(cName)
On Error GoTo 0
IsSheet = IIf(tmpChart Is Nothing, True, False)
End Function

Thân
 

File đính kèm

Bạn muốn nó cập nhật thì chạy Macro thì nó cập nhật cũng giống như hàm của anh Tuấn khi insert sheet mới vào mình phải kéo công thức xuống nó mới cập nhật. code của mình có cả Hyperlink đến danh sách các sheet đã được liệt kê.
Cám ơn bạn đã góp ý
 
Upvote 0
Xin cảm ơn bạn domfootwear. Đây là bài có nội dung thiết thực với mình đó

Mình muốn tên các Sheet nằm ở cột B thì làm như thế nào? Xin cảm ơn
 
Lần chỉnh sửa cuối:
Upvote 0
Xin cảm ơn bạn domfootwear. Đây là bài có nội dung thiết thực với mình đó

Mình muốn tên các Sheet nằm ở cột B thì làm như thế nào? Xin cảm ơn
Bạn vào code và sửa lại như thế này là xong
Mã:
Sub TaoDanhSachSheet()
Dim shtName As String
Dim shtLink As String
Dim rowNum As Integer
Dim newSht As Worksheet
Dim i As Long
 Application.DisplayAlerts = False
    On Error Resume Next
    ActiveWorkbook.Worksheets("Trang chinh").Delete
    On Error GoTo 0
    Application.DisplayAlerts = True
Set newSht = Sheets.Add
newSht.Name = "TRANG CHINH"
newSht.Select
newSht.Range("[COLOR=red]B1[/COLOR]").Value = "DANH SACH SHEET CO TRONG FILE NAY"
newSht.Range("[COLOR=red]B1[/COLOR]").Font.Bold = True
newSht.Range("[COLOR=red]B1[/COLOR]").Font.Color = 255
rowNum = 2
For i = 1 To Sheets.Count
If Sheets(i).Visible = True _
And Sheets(i).Name <> ActiveSheet.Name _
And IsSheet(Sheets(i).Name) Then
shtName = Sheets(i).Name
shtLink = "'" & shtName & "'!A1"
[COLOR=red][COLOR=red]newSht.Cells(rowNum, 2).Select 'số 1 là cột A, số 2 là cột B....[/COLOR]
[/COLOR]ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", _
SubAddress:=shtLink, TextToDisplay:=shtName
rowNum = rowNum + 1
End If
Next i
Columns("B:B").EntireColumn.AutoFit
End Sub
Thân
 
Upvote 0
Web KT

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

Back
Top Bottom