Hỗ trợ code tạo mục lục.

ngaykhongem1

New Member
Hội viên mới
Hi mọi người,
Nhờ mọi người hỗ trợ giúp mình cái này với. Mình có 1 file excel có nhiều sheet, mỗi sheet có tiêu đề mỗi sheet bắt đầu từ ô A3. Mình muốn khi chạy chương trình thì sẽ tạo thêm 1 sheet có tên Mucluc liệt kê tất cả các tiêu đề của tất cả các sheet trong file excel đó, chi tiết xem trong file đính kèm, Mong mọi người giúp đỡ.
Thanks mọi người
 

Đính kèm

  • Muc luc.xls
    27.5 KB · Lượt xem: 257
Ðề: Hỗ trợ code tạo mục lục.

Ok, list cả sheet name và mục lục

Sub ListSheetsAndTitles()

Dim ws As Worksheet
Dim x As Integer

x = 1

Sheets("Mucluc").Range("A:A").Clear

For Each ws In Worksheets

Sheets("Mucluc").Cells(x, 1) = ws.Name & " " & ws.Cells(3, 1).Value

x = x + 1

Next ws

End Sub

:cheer:
 
Sửa lần cuối:
Ðề: Hỗ trợ code tạo mục lục.

YÊU CẦU:
// Khi chạy macro chương trình sẽ tạo ra sheet có tên là Mucluc liệt kê tên các Bảng ( tiêu đề) có trong các Sheet còn lại. VD như ở đây là Bang 1, Bang 5, Bang 3.
// Khi mình click vào ô A1 (Bang 1 Danh sach bán) trong mục lục này thì sẽ chuyển đến Sheet 2, ô A3 (Bang 1 Danh sach bán), tương tự như vậy cho cái ô còn lại
Nếu người dùng add thêm 1 sheet thì chương trình sẽ tự thêm tên Bảng của sheet đó vào sheet Mucluc.


Câu 1 đã làm rồi

Hôm snow day nằm nhà lai rai, nên làm câu 2 nhé

Copy và Past vào trong ThisWorkbook . Viết kiểu này là Event, click vào row Mucluc là chạy

Option Explicit

Public Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim iFind
Dim iLoop As Long
Dim iFound As Range
Dim ws As Worksheet
Dim x As Integer


Worksheets("Mucluc").Activate
iFind = ActiveCell

On Error Resume Next
For iLoop = ActiveSheet.Index + 1 To Sheets.Count
With Sheets(iLoop)
Set iFound = .UsedRange.Find(What:=iFind, After:=.Cells(3, 1), LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
If Not iFound Is Nothing Then
Application.Goto iFound, True

Exit For
End If
End With
Next iLoop

End Sub

Viết VBA thích hơn kiểu dùng Link sẽ ko học được gì hết

Câu 3 để dịp khác nhé

Sửa lai đoạn cho nó ngắn

Sheets("Mucluc").Cells(x, 1) = ws.Cells(3, 1).Value

Chữ Việt dài Excel bên này ko đọc được FONTS
 
Sửa lần cuối:
Ðề: Hỗ trợ code tạo mục lục.

Nếu người dùng add thêm 1 sheet thì chương trình sẽ tự thêm tên Bảng của sheet đó vào sheet Mucluc


Chạy ListSheetsAndTitles()
Event tự động biết

That 's all
 
Ðề: Hỗ trợ code tạo mục lục.

đây là code tự động tạo mục lục e ko thích cách này lắm.
E muốn tạo các nút ấn link đến hơn, bác nào biết chỉ giúp em với ... mấy hôm nay em đang "vái tứ phương" vì ko biết cách viết code
chả là e có 1 file 12 sheet trừ 3 sheet chính (TENKH, CDPS, MENU), 3 sheet này em để mặc định là ẩn, còn 9 sheet mà em muốn nhóm 3 sheet một để khi ấn nút A sẽ hiện 3 sheet nhóm 1, ấn nút B sẽ hiện 3 sheet nhóm 2, ấn nút C sẽ hiện 3 sheet nhóm 3 (e ko muốn thêm sheet mục lục như trên mà chỉ muốn gói gon trong file làm việc cũ của mình nên đặt các nút ấn ở sheet chính MENU)
Bác nào biết chỉ giúp em với, e cảm ơn !!!
 
Ðề: Hỗ trợ code tạo mục lục.

Tạo nút link
1- Trong Sheet1 , Click Shapes
2- Chọn đại hình rectagular
3- Chỉnh cho nó to hay nhỏ tùy ý
4- RIGHT click vào nó , chọn Edit Text
5- Type chữ gì tùy ý (vi du: Sheet2)
6- RIGHT click vào nó lại, chọn Hyperkink
4- Chọn Place in This Document
5- Chọn Sheet2 (để Hyperlink chạy đến đó)
6- OK
 

CẨM NANG KẾ TOÁN TRƯỞNG


Liên hệ: 090.6969.247

KÊNH YOUTUBE DKT

Cách làm file Excel quản lý lãi vay

Đăng ký kênh nhé cả nhà

SÁCH QUYẾT TOÁN THUẾ


Liên hệ: 090.6969.247

Top