ابو مارفن قام بنشر مارس 1 قام بنشر مارس 1 السلام عليكم عندي ملف يحتوي الف اسم بي اسماء بعمود a مكرر وبي بعمود b مبالغ اريد طريقة اجمع المبلغ التابع للاسم المتكرر مع مسح الصف المتكرر ليبقى اسم واحد ويقابله مجموع المبالغ لنفس الاسم
أبوعيد قام بنشر مارس 1 قام بنشر مارس 1 (معدل) وعليكم السلام : الطريقة من خطوتين : الخطوة الأولى : أن ترسل نموذج من الملف لأنه لا يمكن التخمين على شيء غير موجود لا بد أن نعرف في أي عمود تتواجد الأسماء وهل تم إدخالها يدويا أم عن طريق قائمة منسدلة أم ... أم , والمبالغ في أي عمود ؟؟؟؟؟؟ كل هذه تساؤلات لا يمكن العمل معها الخطوة الثانية : إذا تم إزالة كل المشاكل سيتم بناء كود يحسب مطلوبك تقبل تحياتي , و مبارك عليك الشهر (رمضان1446هـ) تم تعديل مارس 1 بواسطه أبوعيد 2
ابو مارفن قام بنشر مارس 2 الكاتب قام بنشر مارس 2 توضيح في الملف المرفق مع جزيل الشكر جمع اقساط للاسماء المتشابهة.xlsx
أبوعيد قام بنشر مارس 2 قام بنشر مارس 2 اضغط على زر النتيجة الأحمر ولاحظ النتيجة تفضل جمع اقساط.xlsm 3
محمد هشام. قام بنشر مارس 2 قام بنشر مارس 2 (معدل) وعليكم السلام ورحمة الله تعاى وبركاته اقتراح اخر Option Explicit Sub test() Dim lastRow, i As Long, OnRng, tmp, key As Variant Dim name As String, amount As Double, dict As Object Dim WS As Worksheet: Set WS = Sheets("ورقة1") With WS lastRow = .Cells(.Rows.Count, 1).End(xlUp).Row If lastRow < 2 Then Exit Sub Set dict = CreateObject("Scripting.Dictionary"): OnRng = .Range("B2:C" & lastRow).Value For i = 1 To UBound(OnRng, 1) name = Trim(OnRng(i, 1)): amount = OnRng(i, 2): If name <> "" Then dict(name) = dict(name) + amount Next i Application.ScreenUpdating = False .Range("E2:F" & lastRow).ClearContents If dict.Count = 0 Then: Exit Sub ReDim tmp(1 To dict.Count, 1 To 2) i = 1 For Each key In dict.keys tmp(i, 1) = key: tmp(i, 2) = dict(key): i = i + 1 Next key .Range("E2").Resize(dict.Count, 2).Value = tmp Application.ScreenUpdating = True End With End Sub تم تعديل مارس 2 بواسطه محمد هشام. 3
ابو مارفن قام بنشر مارس 3 الكاتب قام بنشر مارس 3 عاشت ايدكم وبارك الله بجهودكم الله يجعلها بميزان حسناتكم تحياتي
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.