اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

التنقل بين الأوراق


jaffjaff

الردود الموصى بها

السلام عليكم ...

المسألة بسيطة جداً...

تضغط Alt+F11 وتفتح الفورم الذي أنشأته.

كليك يمين على الزر المطلوب و تختار Vew Code لتفتح لك صفحة الكود .

تستطيع اختيار الزر المطلوب من القائمة المنسدلة اليسرى و الحدث المرتبط بهذا الزر من القائمة المنسدلة اليمنى.

الآن يمكنك وضع الكود التالي للانتقال إلى ورقة (منتدى الاكسل) الموجودة في نفس مصنف العمل.

  Worksheets("منتدى الاكسل").Activate
  End
ويمكنك إضافة الكود التالي للانتقال إلى ورقة (منتدى الفيجوال) الموجودة ضمن المصنف (arabteam2000-forum) الموجود في نفس مسار المصنف الرئيسي (المصنف officena الذي يحتوي على الكود).
  Dim MyPath As String
  MyPath = Workbooks("officena").Path & "\arabteam2000-forum"
  Set MyBook = Workbooks.Open(Filename:=MyPath)
  MyBook.Worksheets("منتدى الفيجوال").Activate
  End

مرفق مثال مبسط و الكود موجود بداخل مصنف officena.

أرجو أن أكون قد وفقت في إيصال المعلومة :fff::fff::fff:

jaffjaff.zip

رابط هذا التعليق
شارك

استاذى الفاضل

تحية طيبة

بالنسبة للازرار عن الضغط على احداها تختفي من الشاشة

هل يمكن تواجدها على جميع الصفحات الملف الواحد فقط لسهولة الانتقال ما بينها اى عند الحاجة و الضغط على احدى الازار على ان لا تختفي النموذج

رابط هذا التعليق
شارك

السلام عليكم ...

بالنسبة للإبقاء على الفورم فيمكنك ذلك عن طريق حذف السطر الذي يحتوي على الكلمة End من جميع الأكواد ، ولكن تبقى لدينا مشكلة أخرى وهي أن أوراق العمل لا يمكن تحريرها طالما أن الفورم ظاهر على الشاشة ، وهنا أقترح عليك الاستعانة بأشرطة القوائم وذلك عوضاً عن الأزرار .

إذا كنت تريد استخدام أشرطة القوائم فأخبرني لأكتب لك الكود الخاص بذلك.

رابط هذا التعليق
شارك

السلام عليكم ...

مرفق المثال معدل كما طلبت.

لاحظ أننا في كل عملية إنشاء لعنصر قائمة نقوم بربط هذا العنصر بالمايكرو المخصص ، ولاحظ أننا ننشئ القوائم عند فتح الملف ونحذفها عند إغلاقه (كي لا تبقى موجودة عند فتح ملفات أخرى).

بالتوفيق:fff:

jaffjaff123.zip

  • Like 1
رابط هذا التعليق
شارك

السلام عليكم ...

يمكنك عمل ذلك بشكل يدوي وذلك كما يلي :

انقر فوق الخيار Customize الموجود في القائمة Tools لتظهر لك نافذة ، ضمن التبويب Commands وتحت Categories ستجد مجموعة باسم New Menu انقر عليها واسحب الشريط New Menu (الموجود تحت Commands) إلى شيط القوائم .

حدد المجموعة Macros (الموجودة تحت Categories) واسحب الشريط Custom Menu Item (الموجود تحت Commands) إلى داخل القائمة الجديدة (أو أي قائمة).

الآن يمكنك زيادة عناصر القائمة الجديدة بتكرار نفس الخطوات السابقة ، ويمكنك تغيير اسم القائمة وعناصرها و ربط هذه العناصر بالمايكراوت المطلوبة عن طرق الخيارات التي تظهر بالنقر بزر الفأرة الأيمن على أي قائمة .

يعيب على الطريقة اليدوية أن القوائم تبقى موجودة في التطبيق مع أي ملف آخر يقوم المستخدم بفتحه.

ويمكنك حل هذه المعضلة عن طريق اتباع كود الـ VBA:

الفكرة تكمن بإنشاء القائمة عند فتح الملف وحذفها عند إغلاق الملف (كي لا تبقى موجودة عند فتح ملفات أخرى) ، لاحظ الكود:

Private Sub Workbook_Open()
  With MenuBars(xlWorksheet)
    .Menus.Add Caption:="الانقال إلى أوراق العمل", before:="Help"
    With .Menus("الانقال إلى أوراق العمل").MenuItems
      .Add Caption:="منتدى أوفيسنا - الاكسل", OnAction:="Move1_1"
      .Add Caption:="منتدى أوفيسنا - الاكسس", OnAction:="Move1_2"
      .Add Caption:="منتدى أوفيسنا - الوورد", OnAction:="Move1_3"
      .Add Caption:="-"
      .Add Caption:="منتدى الفريق العربي - الفيجوال", OnAction:="Move2_1"
      .Add Caption:="منتدى الفريق العربي - الدلفي", OnAction:="Move2_2"
      .Add Caption:="منتدى الفريق العربي - السمبلي", OnAction:="Move2_3"
    End With
  End With
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
  MenuBars(xlWorksheet).Menus("الانقال إلى أوراق العمل").Delete
End Sub

نلاحظ أننا عند إنشاء أي عنصر نقوم بربطه بالمايكرو المخصص له ، فمثلاً عند إنشاء عنصر القائمة "منتدى أوفيسنا - الاكسل" قمنا بربطه بالمايكرو Move1_1 .

كما نلاحظ أننا قمنا بإدراج الخط الفاصل عن طريق إنشاء عنصر قائمة باسم "-".

تحياتي:fff:

رابط هذا التعليق
شارك

السلام عليكم ...

اضافة بسيطة لما سبق :

نلاحظ أن القائمة "الانقال إلى أوراق العمل" تختفي عند الانتقال لورقة تحتوي على تخطيط بياني ، هل تعرف السبب؟؟؟؟؟؟؟؟؟

السبب يكمن باستخدام الثابت xlWorksheet مع الاسلوب MenuBars ، وهناك مجموعة من الثوابت الأخوة للثابت السابق و التي تستخدم لتحديد مجال عمل القوائم المنشئة ، وهذه الثوابت هي كما يلي:

xlWorksheet :تستخدم لعرض القائمة عندما يكون إحدى صفحات العمل في حالة عمل أو مفتوحة.

xlChart :تستخدم لعرض القائمة عندما يكون إحدى صفحات الرسم البياني في حالة عمل (مفتوحة حالياً) .

xlModule :تستخدم لعرض القائمة عندما يكون إحدى صفحات المقاطع البرمجية (الموديل) في حالة عمل (مفتوحة حالياً) .

xlWorksheet :تستخدم لعرض القائمة عندما لا يكون هناك أي صفحات من الأنواع (جداول عمل ، رسومات بيانية ، مقاطع برمجية) مفتوحة أو في حالة عمل.

بالتوفيق :fff:

رابط هذا التعليق
شارك

زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information