فوزى فوزى قام بنشر أغسطس 12 قام بنشر أغسطس 12 السلام عليكم ورحمة الله وبركاته اساتذتى الكرام بعد عدة محاولات توصلت لعمل هذا الكود وهو يؤدى المطلوب ولكن عندى مشكلة وهى الأسماء المشتركة مع بعضهم عند كتابة محمد وكتابة الشهر يرحل المبلغ امام الاسم الموجود في العمود B ون ضغطت مرة ثانية على الزر الترحيل على نفس الاسم والشهر يقوم بتجيمع المبلغ لحد هنا كله تمام المشكلة تكمن هنا فى الاسماء المشتركة عند كتابة اسم هانى فى الخلية B1 وعند كتابة الشهر فى الخلية B2 لا يرحل المبلغ الموجود فى الخلية B3 المطلوب عند كتابة اسم خالد وكتابة شهر 2 مثلا يرحل المبلغ الى خالد وان كتبت اسم حاتم وكتبت شهر 2 ايضا يرحل المبلغ ويجمعه مع مبلغ خالد وهذا مثال على ذلك ترحيل + جمع.xlsm
محمد هشام. قام بنشر أغسطس 13 قام بنشر أغسطس 13 (معدل) وعليكم السلام ورحمة الله تعالى وبركاته جرب هل هدا ما تقصده Sub Update_amounts3() Dim Names$, Amount$, months$, i As Byte Dim tmp As Range, OneRng As Range, arr As Range Set f = Sheets("حركة الأقساط") ' الاسم Names = "*" & [b1].Value & "*" ' الشهر months = [b2] 'المبلغ Amount = [b3] With f ' التحقق من وجود قيمة في خلايا (الاسم-الشهر-المبلغ) Set arr = Union(.[b1], .[b2], .[b3]) For i = 1 To arr.Count If arr(i) = Empty Then MsgBox ("يرجى إضافة" & _ " " & arr(i).Offset(, -1).Value), 16, "إنتباه": Exit Sub Next ' تنفيد الكود عند التحقق من وجود قيمة رقمية في خلية المبلغ If Not IsNumeric(Amount) Then: Exit Sub 'نطاق البحث عن الاسم Set OneRng = .Range("b7", .Range("b" & .Rows.Count).End(xlUp)).Find(Names) 'نطاق البحث عن الشهر Set tmp = [C6:N6].Find(months) ' صف وجود الاسم A = OneRng.Row ' عمود وجود الشهر B = tmp.Column ' الخلية الهدف Set c = Cells(A, B) 'قيمة الخلية الهدف + قيمة المبلغ c.Value = c.Value + Amount End With End Sub ترحيل + جمع V2.xlsm تم تعديل أغسطس 13 بواسطه محمد هشام. 1
فوزى فوزى قام بنشر أغسطس 13 الكاتب قام بنشر أغسطس 13 تحية وتقدير بداية اسعدنى مرورك قبل مشاركتك فاما الشكر لك فانا اعجز عن تقدير تعبك ومجهودك لمساعدتى وفقك الله لكل ما تحبه وترضاه تمام استاذ محمد هو ده المطلوب ولكن اريد هذه الاضافة على الكود الموجود بداخل الشيت بعد اذنك استاذ محمد هذا الكود المطلوب عليه الاضافة Sub Trhel() lr = Range("b" & Rows.Count).End(xlUp).Row r = Range("b7:b" & lr).Find([b1], , , 1).Row c = Rows(6).Find([b2], , , 1).Column Cells(r, c) = Val(Cells(r, c)) + Val([b3]) End Sub لانه كود سهل وبسيط واستطيع اعدل عليه بعد ذلك وجزاكم الله خير الجزاء
أفضل إجابة محمد هشام. قام بنشر أغسطس 13 أفضل إجابة قام بنشر أغسطس 13 (معدل) اظن ان الكود المقترح سهل وغير معقد على العموم تمت محاولة شرحه في المشاركة السابقة للفائدة تفضل اخي Sub Trhel() lr = Range("b" & Rows.Count).End(xlUp).Row r = Range("b7:b" & lr).Find("*" & [b1].Value & "*", , , 1).Row c = Rows(6).Find([b2], , , 1).Column Cells(r, c) = Val(Cells(r, c)) + Val([b3]) End Sub تم تعديل أغسطس 13 بواسطه محمد هشام. 2
فوزى فوزى قام بنشر أغسطس 13 الكاتب قام بنشر أغسطس 13 شاكر فضلك جدا جدا واسال الله ان يجعلكم دئما أهلا لعمل الخير والمساعدة تسلم ايديك وبارك الله فيكم وجعله فى ميزان حسناتك وزادك الله من علمه وفضله نعم هذا هو المطلوب
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.