اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

الردود الموصى بها

قام بنشر

السلام عليكم ورحمة الله وبركاته..

مساء السعادة .. يا أصحاب السعادة 🙂

عندي بيانات الشراء للعملاء

ويكون اسم العميل وأمامه الأصناف التي طلبها من الموقع

المشكلة أن الأصناف تكون كلها في خلية واحدة يعني اسم العميل وأمامه جميع الأصناف التي طلبها.

أريد أن يكون كل صنف في خلية بترتيب عمودي يعني الصنف الأول تحته الصنف الثاني وهكذا

واسم العميل يتكرر مع توزيع الأصناف

مرفق ملف للتوضيح..

شاكر ومقدر جهودكم جميعاً في هذا المنتدى العظيم والذي لولاه لما تعلمنا كثير من أمور الإكسل

ويشهد الله بدعائي لكم في ظهر الغيب أساتذتي الأجلاء لأنكم علمتم أجيال كاملة أثابكم الله

جدول بيانات الشراء.xlsx

  • أفضل إجابة
قام بنشر

وعليكم السلام-بعد اذن الأستاذ خيماوى ولإثراء الحل يمكنك ايضاً استخدام هذا الكود

أو يمكن أيضاً بإستخدام المعادلات وهذه المعادلة للإسم

=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

  • Like 5
زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information