amir501 قام بنشر سبتمبر 18, 2010 قام بنشر سبتمبر 18, 2010 اخواني جزاكم الله كل خير يرجى مساعدتي في المرفق التالي تحويل عمل الدالة sumif لكود2 vba.rar
بن علية حاجي قام بنشر سبتمبر 19, 2010 قام بنشر سبتمبر 19, 2010 (معدل) السلام عليكم ورحمة الله أخي الكريم، لست أدري إن كان هذا هو المطلوب في الملف المرفق... أخوك بن علية تحويل عمل الدالة sumif لكود2 vba.zip تم تعديل سبتمبر 19, 2010 بواسطه hben
amir501 قام بنشر سبتمبر 19, 2010 الكاتب قام بنشر سبتمبر 19, 2010 السلام عليكم ورحمة الله أخي الكريم، لست أدري إن كان هذا هو المطلوب في الملف المرفق... أخوك بن علية تحويل عمل الدالة sumif لكود2 vba.zip اخي الكريم جزيت خيرا والله هذا بالضبط ما اردت ارجوك هل تتكرم بشرح بسيط لما عدلت بهذا الكود لاني والله بحاجة ماسة لهذا العمل وكيفية اظافة مواد اخرى قد تصل الى 30 مادة وجعلها الله في رصيد حسناتك
بن علية حاجي قام بنشر سبتمبر 20, 2010 قام بنشر سبتمبر 20, 2010 السلام عليكم ورحمة الله اخي الكريم جزيت خيرا والله هذا بالضبط ما اردت ارجوك هل تتكرم بشرح بسيط لما عدلت بهذا الكود لاني والله بحاجة ماسة لهذا العمل وكيفية اظافة مواد اخرى قد تصل الى 30 مادة وجعلها الله في رصيد حسناتك أخي الكريم إن التغيير الذي قمت به في الكود هو تغيير بسيط بإضافة بعض الأسطر لتغيير وضعية Criterea ووضعية ناتج عملية Sumif ولتوضيح هذه التغييرات نقوم بمقارنة الكودين : الكود خاصتك: Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim wrk As Worksheet Dim aa As Range, bb As Range, cc As Range, dd As Range Set wrk = Sheet1 Set aa = wrk.Range("myRange") Set bb = wrk.Range("myCriteria") Set cc = wrk.Range("mysumif") Set dd = wrk.Range("SumIfRange") cc = Application.SumIf(aa, bb, dd) End Sub الكود الذي تم فيه التغيير: Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim wrk As Worksheet Dim aa As Range, bb As Range, cc As Range, dd As Range For i = 13 To 100 If Cells(9, i) = "" Then Exit Sub Set wrk = Sheet1 Set aa = wrk.Range("myRange") Set bb = wrk.Cells(9, i) Set cc = wrk.Cells(10, i) Set dd = wrk.Range("SumIfRange") cc = Application.SumIf(aa, bb, dd) Next i End Sub في الكود الأول وضعت Critera و ناتج Sumif في الخليتين (الثابتتين) E2 و K2 على الترتيب وفي الكود الثاني وضعتهما في خلايا السطرين 9 و 10 بالعبارتين (Cells(9, i و (Cells(10, i حيث i يمثل رقم العمود وجعلته في الكود متغيرا من 13 إلى 100 والرقم 13 (مثلا) هو العمود M ... والكود يفي بمطلوبك الأخير "اظافة مواد اخرى قد تصل الى 30 مادة" باعتبار أن i (أرقام الأعمدة) تتغير من 13 إلى 100 ما يجعل الكود يقبل أكثر من 80 شرطا (مادة) لأن 100-13 = 87 عمودا (وكل عمود يمثل شرطا أو مادة) وأتمنى أني وفقت في شرح الكود... أخوك بن علية
amir501 قام بنشر سبتمبر 20, 2010 الكاتب قام بنشر سبتمبر 20, 2010 اخي بن عليه لك مني جزيل الشكر اكرمك الله وجعلها نورا لك في دنيتك واخرتك جزيت خيرا ان شاء الله الشرح واضح ان شاء الله لكني اجد فيه صعوبة بالغة لفهم الاكواد لانني مستجد في مجال الاكواد كهذه اكرر شكري وامتناني
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.