أبو يحيى الجبلاوي قام بنشر مارس 5, 2016 قام بنشر مارس 5, 2016 السلام عليكم ورحمة الله وبركاته . انا جديد هنا في المنتدى وليس لدي خبرة السؤال هو على الشكل التالي : عندي ثلاث خلايا الكمية هي الخلية A1 ... السعر الإفرادي هي الخلية B1 ..... الإجمالي هي الخلية C1 المطلوب تنفيذ ماكرو عند عمل أي تغيير على الخلية b2 ليكون ناتج الماكرو الذي هو (A1*B1)= يظهر الناتج في الخلية C1 انا اعلم انه بكل بساطة ممكن أن اكتب معادلة =A1*B1 في الخلية C1 ولكن اريد تطبيق هذه المعادلة عن طريق ماكرو للسبب التالي اريد عمل 2 ماكرو واحد يحسبلي السعر الافرادي اذا وضعت الاجمالي والثاني يحسبلي الاجمالي اذا وضعت الافرادي لانه وهذا لا يمكن تنفيذه بكتابة المعالة ان شاء الله يكون الامر واضح تقبلو مروري . أخوكم أبو يحيى من سوريا
أبو يحيى الجبلاوي قام بنشر مارس 5, 2016 الكاتب قام بنشر مارس 5, 2016 انحل معي نصف الموضوع ولكن كيف يمكنني تطبيق الماكرو الثاني مع الاول Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Range("b1").Value <> "" Then Range("c1").FormulaArray = "=(a1*b1)" End If End Sub
رجب جاويش قام بنشر مارس 5, 2016 قام بنشر مارس 5, 2016 أخى الفاضل الأفضل ارفاق ملف توضح به ما تريد حتى تسهل على أخوانك بالمنتدى تقديم المساعدة المطلوبة
ابو علي و سدرة قام بنشر مارس 5, 2016 قام بنشر مارس 5, 2016 اخى العزيز جرب المرفق New Microsoft Office Excel Worksheet.rar
ياسر خليل أبو البراء قام بنشر مارس 5, 2016 قام بنشر مارس 5, 2016 الأخ الفاضل أبو يحي أهلاً بك في المنتدى ونورت بين إخوانك برجاء تغيير اسم الظهور للغة العربية ومراجعة موضوع التوجيهات في الموضوعات المثبتة في المنتدى لمعرفة كيفية التعامل مع المنتدى بشكل أفضل وكما أخبرك أخونا المتميز رجب جاويش برجاء إرفاق ملف لتتضح الصورة أكثر .. وإن شاء الله طلبك سهل ويسير تقبل تحياتي
أبو يحيى الجبلاوي قام بنشر مارس 11, 2016 الكاتب قام بنشر مارس 11, 2016 بارك الله فيكم جميعا وشكرا على ردودكم أولا أخي rasboten لا يتم حساب الافرادي اذا ادخلت الاجمالي فقط يحسب الاجمالي بالملف الذي أرسلته ثانيا ً أخي ياسر خليل أبو البراء تقبلوني فأنا جديد لا اعرف قوانين المنتدى وان شاء الله تقبلوني في اسرتكم الكريمة ثالثا : سأرفق لكم ما طلبتم + صورة للشرح وارجو الرد من قبلكم ملف اكسيل.rar
ياسر خليل أبو البراء قام بنشر مارس 11, 2016 قام بنشر مارس 11, 2016 أخي الكريم أبو يحيى كليك يمين على اسم ورقة العمل ثم View Code ثم ضع الكود التالي في حدث ورقة العمل Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.CountLarge > 1 Then Exit Sub If Target.Row > 1 And Target.Column = 2 Then Application.EnableEvents = False Target.Offset(0, 1).Value = Target.Value * Target.Offset(0, -1).Value Application.EnableEvents = True End If If Target.Row > 1 And Target.Column = 3 Then Application.EnableEvents = False Target.Offset(0, -1).Value = Target.Value / Target.Offset(0, -2).Value Application.EnableEvents = True End If End Sub
أبو يحيى الجبلاوي قام بنشر مارس 11, 2016 الكاتب قام بنشر مارس 11, 2016 (معدل) بارك الله فيك أخي ياسر أبو البراء ونفع بك الاسلام والمسلمين هذا ما طلبته بالضبط ممكن شرح بسيط باللغة العربية للمفردات امام كل سطر اذا كرمت علي لانوا شايفك وضعت عدة شروط عند تغيير الخلية بالصفحة معلش تحملوني انا جديد على برمجة الفيجوال بيسك تم تعديل مارس 11, 2016 بواسطه أبو يحيى الجبلاوي
ياسر خليل أبو البراء قام بنشر مارس 11, 2016 قام بنشر مارس 11, 2016 أخي الكريم تفضل شرح مبسط للكود Private Sub Worksheet_Change(ByVal Target As Range) 'إذا كان عدد الخلايا التي سيتم فيها التغيير أكثر من خلية يتم الخروج من الإجراء الفرعي If Target.Cells.CountLarge > 1 Then Exit Sub 'في حالة التعامل مع العمود الثاني والصف أكبر من 1 أي التعامل مع الصفوف بدايةً من الصف الثاني If Target.Row > 1 And Target.Column = 2 Then 'إلغاء خاصية تمكين الحدث Application.EnableEvents = False 'الخلية في العمود الثالث التالي للخلية الهدف يساوي 'قيمة الخلية الهدف التي يتم الكتابة فيها × الخلية في العمود الاول Target.Offset(0, 1).Value = Target.Value * Target.Offset(0, -1).Value 'استرجاع الخاصية مرة أخرى وتفعيلها Application.EnableEvents = True End If 'في حالة التعامل مع العمود الثالث والصف أكبر من 1 أي التعامل مع الصفوف بدايةً من الصف الثاني If Target.Row > 1 And Target.Column = 3 Then Application.EnableEvents = False 'الخلية في العمود الثاني السابقة للخلية الهدف تساوي 'قيمة الخلية الهدف التي في العمود الثالث / الخلية في العمود الأول Target.Offset(0, -1).Value = Target.Value / Target.Offset(0, -2).Value Application.EnableEvents = True End If End Sub 2
أبو يحيى الجبلاوي قام بنشر مارس 11, 2016 الكاتب قام بنشر مارس 11, 2016 بارك الله فيك وشكرا الك شرح وافي وكافي وواضح جدا اخي الكريم عذبتك معي طبعا طلبي هو جزء من برنامج متواضع عم قوم بتصميمه كان نقاقصه هذا الموضوع ضمن جدول لتصريف العملات بس أخي سؤال اخبر وسامحني تقلت عليك بالعادة بالاكسيل لما يتحط دالة وتنسخ الأرقام نسخ لصق او بالسحب للأسفل بيقوم يعملية الحساب ولكن بعد وضع الكود هي الخاصية التغت في حل ؟
ياسر خليل أبو البراء قام بنشر مارس 11, 2016 قام بنشر مارس 11, 2016 التعامل مع الأكواد لا يدعم التراجع ..والكود يقوم بعمل الدالة التي تقوم بإدراجها فما الداعي لإدراج المعادلة في هذين العمودين (الثاني والثالث) ..؟
أبو يحيى الجبلاوي قام بنشر مارس 11, 2016 الكاتب قام بنشر مارس 11, 2016 عفوا ما بقصد نسخ الدالة بقصد نسخ القيم والأرقام المراد حسابها يعني مثلا اذا نسخت كميات + أسعار من جدول أخر وقمت باللصق لا بيتم احتساب الاجمالي لا يتم الاحتساب الا اذا قمت بادخال الاعدادبشكل يدوي
أبو يحيى الجبلاوي قام بنشر مارس 15, 2016 الكاتب قام بنشر مارس 15, 2016 بارك الله فيك أخي سليم أنت ماشاء الله عليك أنت اخي حليت الجزء الذي يخص نسخ الخلايا فعلا عند نسخ الخلايا يتم احتساب المجموع ولكن أخي الكريم بارك الله فيك لم يعد يحسب الناتج عندي الادخال اليدوي جرب أدخل القيم يدويا لا يتم احتسابها الا اذا ضغطت على زر Del في الخلية بارك الله فيك انت والأخ ياسر وكل أخ في هذا المنتدى ونفع فيكم الاسلام والمسلمين وسامحوني إن أثقلت عليكم بالأسئلة
الردود الموصى بها