اگرچه مایکروسافت ورد دارای قابلیت داخلی "جدول مطالب" است، اما در اکسل چنین گزینهای بهصورت پیشفرض وجود ندارد. با این حال، شما میتوانید با استفاده از ابزارهایی مانند VBA، فرمولها و Power Query یک فهرست مطالب پویا و قابل کلیک بسازید. چنین فهرستی امکان پیمایش سریع بین برگهها را فراهم کرده و در صورت افزودن یا حذف برگهها نیز بهروزرسانی میشود. در این مقاله از سلام دنیا، تمام روشهایی را که برای ساخت فهرست مطالب پویا در اکسل با استفاده از دستورات کدنویسی Vba نیاز دارید، بررسی میکنیم.
نحوه ایجاد یک فهرست پویا از مطالب در اکسل
از نظر فنی، سه راه برای ایجاد یک فهرست مطالب پویا (TOC) در اکسل وجود دارد. با این حال، تنها یکی از آنها یک TOC کاملاً خودکار را تضمین می کند، و آن Visual Basic for Applications یا به اختصار VBA - زبان برنامه نویسی مادری مایکروسافت است.
حتما بخوانید: کشیدن و ساخت جدول در Excel
دو فرمول دیگر - فرمولهای سنتی و Power Query - یک فهرست از محتویات در اکسل به شما ارائه میدهند - یکی که شامل لینکهای قابل کلیک نیست یا بهطور خودکار بهروزرسانی نمیشود. از آنجایی که ما به دنبال فهرست محتویات اکسل کاملاً پویا هستیم، از VBA استفاده خواهیم کرد. نگران نباشید - فقط باید چند مرحله را دنبال کنید. اما ابتدا - بیایید فهرست مطالب خود را ایجاد کنیم.
- مرحله 1: روی دکمه "insert worksheet" در کنار برگه های خود در پایین کلیک کنید.
- مرحله 2: نام برگه را «table of contents» بگذارید.
- مرحله 3: برای پیمایش بهتر، برگه را به موقعیت اول بکشید.
- مرحله 4: نام برگه های خود را در ستون الف برگه "فهرست مطالب" وارد کنید.
شما فهرست مطالب خود را دارید. اکنون، باید آن را پویا کنیم. برای انجام این کار، به کمک ویرایشگر VBA نیاز داریم - یک ابزار داخلی اکسل که به شما امکان می دهد کدهای سفارشی بنویسید و اجرا کنید.
- مرحله 1: کلیدهای Alt + F11 را فشار دهید تا ویرایشگر VBA باز شود.
- مرحله 2: به تب "Insert" در بالا بروید.
- مرحله 3: "Module" را از منوی کشویی انتخاب کنید.
- مرحله 4: کد VBA زیر را کپی و پیست کنید:
()Sub CreateTOC
Dim ws As Worksheet
Dim toc As Worksheet
Dim i As Integer
Check if TOC sheet already exists, delete if it does'
On Error Resume Next
Set toc = ThisWorkbook.Sheets (“Table of Contents”)
On Error GoTo 0
If Not toc Is Nothing Then Application.DisplayAlerts = False: toc.Delete: Application.DisplayAlerts = True
Create new TOC sheet ‘
Set toc = ThisWorkbook.Sheets.Add (Before := ThisWorkbook.Sheets (1) )
" toc.Name = “Table of Contents
Set up TOC header'
"toc.Cells (1, 1).Value = “Table of Contents
toc.Cells (1, 1).Font.Bold = True
حتما بخوانید: رفع مشکل باز نشدن فایل در اکسل و نمایش محتوای خالی
toc.Cells (1, 1).Font.Size = 14
Loop through all sheets and add hyperlinks '
i = 2
For Each ws In ThisWorkbook.Sheets
If ws.Name <> “Table of Contents” Then
_ ,toc.Hyperlinks.Add Anchor:=toc.Cells(i, 1)
_ , " "=:Address
_ ,SubAddress:=”‘” & ws.Name & “‘!A1”
TextToDisplay:=ws.Name
i = i + 1
End If
Next ws
Adjust column width'
toc.Columns(“A”).AutoFit
End Sub
- مرحله 5: برای اجرای کد "F5" را بزنید.
- مرحله 6: از ویرایشگر VBA خارج شوید.
متوجه خواهید شد که فهرست مطالب اکسل شما اکنون قابل کلیک است.
برای بهروزرسانی خودکار فهرست مطالب پس از تغییرات، فقط باید مراحل 1 تا 6 را تکرار کنید. با این کار هر برگه جدیدی به لیست اضافه میشود یا مواردی که حذف کردهاید حذف میشوند.
سخن آخر
اکنون شما با روشی ساده و کاملاً کاربردی آشنا شدید تا بتوانید یک فهرست مطالب پویا در اکسل ایجاد کنید. این راهکار با استفاده از VBA نهتنها لینکهای قابل کلیک را در اختیار شما قرار میدهد، بلکه با هر بار اجرای کد، جدول شما بهروز خواهد شد. با بهکارگیری این روش، میتوانید نظم بیشتری به فایلهای خود بدهید و به راحتی میان برگهها جابهجا شوید. از این ابزار حرفهای برای مدیریت بهتر صفحات گسترده خود بهره ببرید.
مطالب مرتبط:
رفع مشکل کار نکردن و غیرفعال شدن نوار ابزار اکسل
توابع مهم اکسل در حسابداری برای تجزیه، تحلیل و گزارش گیری جامع مالی
مشاهده همزمان دو شیت در اکسل برای مقایسه اطلاعات کاربرگ در کنار هم
دیدگاه ها