وعليكم السلام أخي الكريم أيوب
الصراحة الموضوع غير واضح والمطلوب يحتاج لمزيد من التفاصيل
لديك في ورقة العمل المسماة "بحث" أزرار أو أشكال وعليها نصوص تشير لورقة عمل أخرى موجودة بالمصنف والأزرار هي "شهادة تسجيل" و "شهادة مدرسية" و "استدعاء" و "عقوبة من الدرجة الأولى" ..
ليعمل الكود يجب تصحيح النص الموجود على زر "استدعاء" ليكون مثل اسم ورقة العمل "إستدعاء"
لربط أوراق العمل بماكرو واحد فقط ، ضع الماكرو التالي في موديول عادي
Sub MainMacro()
Dim ws As Worksheet, sh As Worksheet, shName As String
Set ws = ThisWorkbook.Worksheets("بحث")
shName = ws.Shapes(Application.Caller).TextFrame.Characters.Text
If Evaluate("ISREF('" & shName & "'!A1)") Then Set sh = ThisWorkbook.Worksheets(shName)
If Not sh Is Nothing Then Application.Goto sh.Range("A1")
End Sub
ثم على كل شكل من الأشكال الموجودة في ورقة العمل "بحث" .. الأربعة أزرار أو أشكال الذين تم ذكرهم ، اعمل كليك يمين ثم Assign Macro ثم اختر اسم الماكرو MainMacro ..
الماكرو سيمكنك من الانتقال لهذه الأوراق
ملحوظة يمكن عمل ما سبق باستخدام الهايبرلينك .. لكن ميزة هذه الطريقة أنها تصلح لأي عدد من الأوراق بشرط أن يكون النص الموجود على الشكل بنفس اسم ورقة العمل