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

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

قام بنشر

بسم الله الرحمن الرحيم

 

كثيرا ما نصمم برامج بطريقة جميلة ونعتمد علي البرنامج في العمل ولكن يأتى ما لم يكن في الحسبان

وهو بطئ الملف من كثرة البيانات المدخلة به

وينصح

بايقاف الحساب التلقائي  وتشغيلة عند الحاجه وهو اسلوب لتجنب  البطئ ولكن ليس عمليا

ويعرض الاخوة بعض الاكواد للاستغناء عن بعض الحسابات داخل الاوراق  والتنسيقات وغيرها

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

ومرفق مثال للدالة SUMIF

علي طريقة الاكواد

وتفعيلها بضغطة زر 

يتبع

طريقة للاستغناء عن المعادلات داخل الشيت.rar

  • Like 11
  • 6 months later...
قام بنشر

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

 

نضع لكم اليوم طريقة تحويل الدالة Vlookup  الى كود

مثالين احدهم عند الضغط على زر يتم جلب البيانات

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

المثال الاول

vlookup.PNG

الكود

Private Sub Worksheet_Change(ByVal Target As Range)
Dim myrg1 As Range
    If Target.Column = 10 Then
        Set myrg1 = Sheet2.Range("b5:e30")
        On Error Resume Next
        Application.ScreenUpdating = False
        sheet1.Range("k" & Target.Row & ":" & "m" & Target.Row).ClearContents
        sheet1.Cells(Target.Row, "k") = Sheet2.Application.WorksheetFunction.VLookup(Target.Value, myrg1, 2, 0)
        sheet1.Cells(Target.Row, "l") = Sheet2.Application.WorksheetFunction.VLookup(Target.Value, myrg1, 3, 0)
        sheet1.Cells(Target.Row, "m") = Sheet2.Application.WorksheetFunction.VLookup(Target.Value, myrg1, 4, 0)
        Application.ScreenUpdating = True
    End If
End Sub

للتحميل اضغط هنا

:fff::fff::fff::fff::fff:

المثال الثاني

vlookup1.PNG

الكود

Sub Yasser()
    Dim myrg1 As Range
    Dim i As Long
    Set myrg1 = sheet1.Range("b5:e30")
    For i = 6 To 30
        Application.ScreenUpdating = False
        On Error Resume Next
        sheet1.Cells(i, "k") = sheet1.Application.WorksheetFunction.VLookup(sheet1.Range("j" & i), myrg1, 2, 0)
        sheet1.Cells(i, "l") = sheet1.Application.WorksheetFunction.VLookup(sheet1.Range("j" & i), myrg1, 3, 0)
        sheet1.Cells(i, "m") = sheet1.Application.WorksheetFunction.VLookup(sheet1.Range("j" & i), myrg1, 4, 0)
    Next i
    Application.ScreenUpdating = True
End Sub

للتحميل اضغط هنا

:fff::fff::fff::fff::fff:

تقبلو تحياتي

  • Like 4
قام بنشر
8 ساعات مضت, ياسر خليل أبو البراء said:

بارك الله فيك أخي الغالي ياسر العربي

تسلم الأيادي يا كبير .. جزاك الله كل خير

تسلملي ياريس حبيبي ابو البراء واضح ان مفيش متغيرات مش متعرفه :wink2:

1 ساعه مضت, ابو عبدالبارى said:

استاذ ياسر العربى

  ولا اجمل ولا اروع من هذا الكود

اخي الكريم ابو عبد الباري ولا اجمل ولا اروع من ردك

تقبلوا فائق احترامي

  • Like 1
قام بنشر
1 ساعه مضت, محي الدين ابو البشر said:

السلام عليكم

استاذ ياسر 

بصراحة لو في MEGA LIKE

فأنت تستحقها

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

بصراحة لو في اجمل من كلامك كنت قلته لك

اخي الكريم محي الدين

 تقبل فائق احترامى 

:fff::fff:

  • Like 1
  • 2 years later...

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