إنشاء جدول محتويات متغير في Excel لتسهيل التنقل بين البيانات
التعامل مع ملفات Excel الكبيرة قد يكون مربكًا عند البحث عن ورقة معينة أو مجموعة بيانات داخل الملف. إنشاء جدول محتويات متغير يساعد في التنقل السريع بين الأوراق والبيانات بضغطة زر، مما يوفر الكثير من الوقت ويقلل من الأخطاء الناتجة عن البحث اليدوي. يمكن إعداد جدول المحتويات باستخدام روابط ديناميكية تتكيف مع أي تحديثات تطرأ على الملف، مما يجعل العمل أكثر تنظيمًا وكفاءة.
نصائح سريعة
- لا يوفر Microsoft Excel ميزة “جدول المحتويات” المدمجة.
- يمكنك إنشاء جدول محتويات ديناميكي في Excel باستخدام VBA والصيغ وPower Query.
- VBA هو الوحيد الذي يتيح لك إنشاء جدول محتويات مؤتمت بالكامل.
يُحدث جدول المحتويات نقلة نوعية عند العمل مع الملفات الكبيرة، فهو يُبقي كل شيء منظمًا وسهل التنقل. للأسف، على عكس Word، لا يحتوي Microsoft Excel على زر “جدول المحتويات” البسيط الذي يُضيف هذه الميزة المفيدة ويُحدّثها تلقائيًا. لا، ستحتاج إلى العمل الجاد لإنشاء جدول محتويات ديناميكي بنفسك. سيتم تحديث هذا الجدول تلقائيًا ويحتوي على روابط قابلة للنقر، مما يسمح لك بإضافة وحذف الأوراق – بالإضافة إلى التنقل بينها – بسهولة. يحتوي هذا الدليل على جميع المعلومات التي تحتاجها لإنشاء جدول محتويات ديناميكي في Excel.
كيفية إنشاء جدول محتويات ديناميكي في Excel
من الناحية الفنية، هناك ثلاث طرق لإنشاء جدول محتويات ديناميكي (TOC) في Excel. مع ذلك، هناك لغة برمجة واحدة فقط تضمن جدول محتويات مؤتمتًا بالكامل، وهي Visual Basic for Applications، أو VBA اختصارًا، وهي لغة البرمجة الأصلية من مايكروسوفت. أما اللغتان الأخريان – الصيغ التقليدية وPower Query – فستمنحك جدول محتويات شبه ديناميكي في Excel، وهو جدول لا يتضمن روابط قابلة للنقر أو لا يُحدّث تلقائيًا. ولأننا نسعى إلى جدول محتويات ديناميكي بالكامل في Excel، فسنستخدم VBA.
إذا لم تكن خبيرًا في VBA، فلا تقلق – ما عليك سوى اتباع بعض الخطوات. لكن أولًا – لنُنشئ جدول المحتويات.
الخطوة 1: انقر فوق الزر “إدراج ورقة عمل” بجوار أوراقك في الأسفل.
الخطوة 2: قم بتسمية الورقة “جدول المحتويات”.
إلى الخطوة 3: اسحب الورقة إلى الموضع الأول لتسهيل التنقل.
الخطوة 4: أدخل أسماء أوراقك في العمود (أ) من ورقة “جدول المحتويات”.
ها قد حصلت على جدول المحتويات. يمكنك تعديل جمالياته لاحقًا – الآن، نحتاج إلى جعله ديناميكيًا. للقيام بذلك، سنحتاج إلى مساعدة محرر VBA – أداة مدمجة في Excel تتيح لك كتابة وتنفيذ أكواد مخصصة.
الخطوة 1: اضغط على “Alt + F11” لفتح محرر VBA.
الخطوة 2: انتقل إلى علامة التبويب “إدراج” في الأعلى.
إلى الخطوة 3: حدد “الوحدة النمطية” من القائمة المنسدلة.
الخطوة 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.
ستلاحظ الآن إمكانية النقر على جدول محتويات Excel.
لتحديث جدول المحتويات الخاص بك تلقائيًا بعد التغييرات، ما عليك سوى تكرار الخطوات من 1 إلى 6. سيؤدي هذا إلى إضافة أي أوراق جديدة إلى القائمة أو إزالة الأوراق التي قمت بحذفها.