ماشاء الله تبارك الله عليك  شغل جبار ياأستاذ  
 
	 
 
	بصراحة بديت اشتغل عليه واعمل تست بس مش عارف اكمل (أبي أغير في الأعمدة اللي اسحبهم معاي أو أضيف صفحات زيادة لعملاء جدد) مش عارف بالضبط وين المفروض أعدل .. ممكن تشرح لي وين بالضبط أعدل على الكود  ؟؟؟
 
	 
	 
 
Option Explicit
Sub get_data()
Application.ScreenUpdating = False
Dim S As Worksheet
Dim Cus As Worksheet
Dim m%: m = 3
Dim R%
Dim ar_sh(1 To 3)
'ÇÖÝ Çáì åÐå ÇáãÕÝæÝÉ ÇáÕÝÍÇÊ ÇáÊí áÇ ÊÑíÏ Çä íÊÚÇØì ãÚåÇ ÇáãÇßÑæ
ar_sh(1) = "Summary": ar_sh(2) = "Customers": ar_sh(3) = "Products"
Set S = Sheets("Summary")
With S
  .Cells.Clear
     For Each Cus In Sheets
     If IsError(Application.Match(Cus.Name, ar_sh, 0)) Then
        R = Cus.Range("B9").CurrentRegion.Rows.Count
        Cus.Range("B9").CurrentRegion.Copy .Cells(m, 1)
         With .Cells(m - 1, 1)
         .Value = Cus.Name
         .Interior.ColorIndex = 6
         End With
          m = m + R + 2
        End If
     Next Cus
  .Range("C:C,D:D,H:H").EntireColumn.Delete
 End With
End Sub
=======================================
Option Explicit
Sub Fil_data()
Application.ScreenUpdating = False
Dim My_sh As Worksheet
Dim Cus As Worksheet
Dim m%: m = 2
Dim col%
Dim ar_sh(1 To 3)
'ÇÖÝ Çáì åÐå ÇáãÕÝæÝÉ ÇáÕÝÍÇÊ ÇáÊí áÇ ÊÑíÏ Çä íÊÚÇØì ãÚåÇ ÇáãÇßÑæ
ar_sh(1) = "Summary": ar_sh(2) = "Customers": ar_sh(3) = "Products"
Set My_sh = Sheets("Customers")
With My_sh
  .Range("a1").CurrentRegion.Offset(1).ClearContents
     For Each Cus In Sheets
     If IsError(Application.Match(Cus.Name, ar_sh, 0)) Then
     col = Cus.Cells(6, Columns.Count).End(1).Column
     .Cells(m, 1).Resize(, col).Value = _
     Cus.Cells(6, 2).Resize(, col).Value
     m = m + 1
        End If
     Next Cus
'  .Range("C:C,D:D,H:H").EntireColumn.Delete
 End With
End Sub
	 
	وبالنسبة لشيت ال products ماعملنا عليها حاجة  ..  عاوز يجيب لي جميع ال ال products في جميع شيت اللي باسم العملاء ويعطيني المجموع حقهم (sum لكل product)