أبو غيث قام بنشر ديسمبر 20, 2020 قام بنشر ديسمبر 20, 2020 السلام عليكم ورحمة الله وبركاته.. مساء السعادة .. يا أصحاب السعادة 🙂 عندي بيانات الشراء للعملاء ويكون اسم العميل وأمامه الأصناف التي طلبها من الموقع المشكلة أن الأصناف تكون كلها في خلية واحدة يعني اسم العميل وأمامه جميع الأصناف التي طلبها. أريد أن يكون كل صنف في خلية بترتيب عمودي يعني الصنف الأول تحته الصنف الثاني وهكذا واسم العميل يتكرر مع توزيع الأصناف مرفق ملف للتوضيح.. شاكر ومقدر جهودكم جميعاً في هذا المنتدى العظيم والذي لولاه لما تعلمنا كثير من أمور الإكسل ويشهد الله بدعائي لكم في ظهر الغيب أساتذتي الأجلاء لأنكم علمتم أجيال كاملة أثابكم الله جدول بيانات الشراء.xlsx
خيماوي كووول قام بنشر ديسمبر 20, 2020 قام بنشر ديسمبر 20, 2020 السلام عليكم ورحمة الله وبركاته تفضل اخوي العزيز جدول بيانات الشراء.xlsm 2
أفضل إجابة Ali Mohamed Ali قام بنشر ديسمبر 20, 2020 أفضل إجابة قام بنشر ديسمبر 20, 2020 وعليكم السلام-بعد اذن الأستاذ خيماوى ولإثراء الحل يمكنك ايضاً استخدام هذا الكود أو يمكن أيضاً بإستخدام المعادلات وهذه المعادلة للإسم =IFERROR(INDEX(A:A,AGGREGATE(15,6,ROW($1:$900)/(LEN($B$1:$B$900)-LEN(SUBSTITUTE($B$1:$B$900,"-",""))+1>=COLUMN($A:$J)),ROW(A1))),"") أما معادلة الكود فتكون كالتالى =IF(H2="","",TRIM(MID(SUBSTITUTE("-"&VLOOKUP(H2,$A$1:$B$900,2,0),"-",REPT(" ",99)),COUNTIF(H$2:H2,H2)*99,99))) Sub Demo() Dim Ary As Variant, Nary As Variant, Sp As Variant Dim r As Long, nr As Long, i As Long Ary = Range("A1").CurrentRegion.Value2 ReDim Nary(1 To UBound(Ary) * 100, 1 To 2) For r = 1 To UBound(Ary) Sp = Split(Ary(r, 2), "-") For i = 0 To UBound(Sp) nr = nr + 1 Nary(nr, 1) = Ary(r, 1) Nary(nr, 2) = Sp(i) Next i Next r Range("E:F").EntireColumn.Value = "" Range("E1").Resize(nr, 2).Value = Nary End Sub جدول بيانات الشراء1.xlsm 5
الردود الموصى بها