اذهب الي المحتوي
أوفيسنا

تعديل بيانات مسحوبة من النظام


إذهب إلى أفضل إجابة Solved by Ali Mohamed Ali,

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

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

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

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

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

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

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

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

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

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

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

جدول بيانات الشراء.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