اذهب الي المحتوي
أوفيسنا

هل يمكن عمل ماكرو لإلغاء أزرار الماكرو الموجودة في نطاق صفوف محددة


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

السلام عليكم ورحمة الله وبركاته 

 

لدي عدة أزرار لأكثر من ماكرو في صفوف محددة مثلا الصفوف من 3 الى 5  هل يمكن عمل ماكرو يبحث عن كل زر ويلغيه في هذه الصفوف

 

وشكرا للاساتذة الكرام

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

ألفت هذا الماكرو ولكنه لا يعمل المطلوب

 

 ("For Each Button In Rows("454:460

    Button.Select
    Selection.Cut
    Next Button
هل من معلم يعلمنا ؟
 
ولزيادة الإيضاح  وربما ييسر ذلك الحل
 الأزرار الموجودة هي لعدد 2 ماكرو فقط ولكن زر  كل ماكرو مكرر ربما 40 مرة والمطلوب الغاء الازرار فقط وليس الماكرو
 
وفق  الله الجميع لما يحب ويرضى
رابط هذا التعليق
شارك

 السلام عليكم

الاخ الكريم

برجاء ارفاق ملف لتوضيح المطلوب افضل من ذلك

وان شاء الله ستجد العون من الجميع

جزاك الله خيرا

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

السلام عليكم

ولائراء الموضوع هذا كود آخر

Sub ragab()
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
If shp.AutoShapeType = -2 And shp.Top > 120 Then shp.Delete
Next
End Sub

أزرار مطلوب الغائها.rar

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

أخى الفاضل / خالد

الرقم -2 يدل على نوع الشكل ( الزر ) المراد حذفه

أما الرقم 120 يعنى أنه اذا كان  TOP ( المسافة من الحافة العلوية للشكل الى حافة التطبيق )   للشكل أكبر من 120 يتم حذفه

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

 

 

استاذنا  رجب جاويش 

 وفقك الله وجزاك الله خيرا وبردك على الأخ خالد الشاعر وضحت الأمور اكثر ولكن 

في الملف الأصلي عندي الغيت الصفوف التي بها الأزرار فبقيت الأزرار وارتفاعها صفر 

في شرحكم قلتم 

 

أما الرقم 120 يعنى أنه اذا كان  TOP ( المسافة من الحافة العلوية للشكل الى حافة التطبيق )   للشكل أكبر من 120 يتم حذفه

 

فأنا وضعت  =0 بدلا من اكبر من 120  ولم ينفذ الالغاء  

فما معنى حافة التطبيق  واظنها لا تعني الحافة السفلية 

وأفدنا عن التعديل اللازم  بارك الله فيكم

وبالمناسبة هل تعرف الشيخ الدكتور سعد جاويش  

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

كما قال استاذي حمادة عمر 

 

جزاك الله خيرا

استاذنا العملاق الفارس

رجب جاويش

 

ولكن هل يوجد كود لالغاء الأزرار حسب أرتفاع الزر نفسه   حيث  في الملف الأصلي عندي الغيت الصفوف التي بها الأزرار فبقيت الأزرار وارتفاعها صفر  ومن الصعب قياس top  عندي لأن الأزرار  بعد الصف 450  والصفوف مختلفة الارتفاعات 

إلا إذا  وحدت ارتفاع الصفوف  ثم ضربت في 450  ثم بعد الالغاء أعيد الصفوف كما كانت وستكون عملية شاقة 

جزاك الله خيرا

تم تعديل بواسطه atef0977
رابط هذا التعليق
شارك

أخى الفاضل

أنا اعتمدت على خاصية الـ TOP  للشكل نفسة وليس للصفوف

حيث حددت قيمة أقل من الـ TOP  لأقرب شكل الى حافة المستند ( من الأشكال المراد حذفها )

ثم وضعت السطر داخل الكود يقول أنه اذا زاد الـ TOP  عن هذا الرقم يتم الحذف

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

أخى الفاضل

ولا يهمك أنا معك لن أمل حتى تصل الى ما تريد

 

نفذ الكود التالى

Sub ragab()
Range("A1") = ActiveCell.Top
End Sub

قم بالوقوف على أى خليه تريدها بالماوس ( المراد معرفة الـ TOP لها ) ونفذ الكود السابق

سوف تجد مكتوب فى الخليه A1  قيمة الـ TOP  الخاصة بالخلية المحددة

تم تعديل بواسطه رجب جاويش
  • Like 1
رابط هذا التعليق
شارك

السلام عليكم

بعد ما تحذف الصفوف

استخدم الكود هذا لحذف الازرار التي ارتفاعها صفر

Sub ragab()
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
If  shp.Height = 0 Then shp.Delete
Next
End Sub

تحياتي

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

 استاذي الفاضل  رجب جاويش 

بارك الله فيك  وجزاك الله خيرا  

 

وبالماكرو الأخير  متاكد أنني به ساصل لما اريد   

 

اسال الله ان يجعل ما تقدمه في هذا المنتدي صدقة جارية لك

بارك الله فيك  وجزاك الله خيرا  

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

 سعادة المدير عبدالله باقشير

 

جزاك الله خيرا  ويشرفني أنك تفضلت بالمرور واضافة حل آخر  رائع  

بارك الله فيك  وجزاك الله خيرا  

 

اسال الله ان يجعل ما تقدمه في هذا المنتدي صدقة جارية لك

 

بارك الله فيك  وجزاك الله خيرا  

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

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

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

Important Information