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

كود لتشغيل ماكرو محدد أو أكثر


إذهب إلى أفضل إجابة Solved by عبدالفتاح في بي اكسيل,

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

  • أفضل إجابة

على  حد  علمي  يمكنك  استدعاءه  عن طريق  ادراج  موديل  خاص   او زر  تحكم  بالمكروات  المطلوب  استدعائها    كتابة    كلمة  call ثم  اسم  الماكرو   

مثلا   لديك  اكثر  من ماكرو   sub   macro1()   , sub macro2     

تكتب     call macro1   , call macro 2 

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

الأستاذ عبد الفتاح / سلام الله عليكم

مثلا   لديك  اكثر  من ماكرو   sub   macro1()   , sub macro2     

تكتب     call macro1   , call macro 2 

السؤال .. أين نكتب هذا ؟    فى نفس الماكرو المطلوب استدعائه .. أم فى ماكرو منفصل

وماذا إن كان هناك عدد من الماكرو تلقائى (يعمل بدون زر) وغيرهم يعمل بزر

لأن المشكلة عمل عدد كبير من الماكرو فى نفس الوقت يسبب بطئ شديد

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

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

Private Sub Worksheet_Change(ByVal Target As Range)

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub

اما  اذا  اردت  ان يعمل  بمجرد  فتح  الملف  يمكنك  وضعه  في هذا  الحدث من ملف  العمل 

Private Sub Workbook_Open()

End Sub

 

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

أستاذى الفاضل .. أين جملة الأستدعاء فى ماذكر من أمثله

مثال هذا كود يعمل بزر

Sub للتصفية()
' لنسخ حساب القائمة المنسدلة من أرصدة الى الخزينة
Sheets("الخزينة").Range("H9").Value = Range("D7").Value
Application.ScreenUpdating = False
    Dim ws As Worksheet
    Dim sh As Worksheet
    Dim lr As Long
    Set ws = Sheets("الخزينة")
    Set sh = Sheets("تصفية")
      Application.ScreenUpdating = False
 '      إلغاء الفرز والتصفية إن وجد لجدول3
        Sheets("الخزينة").Range("الجدول3").AutoFilter
 '   تصفية للعمود 13  P
    Sheets("الخزينة").Range("الجدول3").AutoFilter Field:=13, Criteria1:= _
        "<>"
      Application.ScreenUpdating = False
        sh.Range("D12:N11011").ClearContents
        lr = sh.Cells(Rows.Count, 4).End(xlUp).Row + 1
        Application.ScreenUpdating = False
        ws.Range("D12:K11011").SpecialCells(xlCellTypeVisible).Copy
        sh.Range("D" & lr).PasteSpecial xlPasteValues
        Application.CutCopyMode = False
        Application.ScreenUpdating = False
 '   إلغاء تصفية للعمود 13  P
    Sheets("الخزينة").Range("الجدول3").AutoFilter Field:=13
End Sub

أين تكون الأضافة حتى لايعمل أى كود أخر فى الملف وليس فى الورقة نفسها فقط سواء كان تلقائى أو بزر

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

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

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

الكود السابق .. أ / عبد الفتاح ..

كما قلت لك عند استخدام هذا الكود على سبيل المثال وهو واحد من أكود كثيرة يأخد وقت طويل جداً حت يعطى النتيجة المطلوبه

فقمت بحذف باقى الأكود وتشغيل الكود السابق ذكره أعطى نتيجه بسرعة كبيره .. ده معناه أن هنالك أكود أخرى تعمل وتسبب بطء وتعطيل لهذا الكود 

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

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information