ملاحظة يا أفاضل
قمت بترجيب الكود البرمجي
Sub SUM_WBs()
Dim FileNameXls As Variant, i As Integer, wb As Workbook
'ChDir = "C:\Temp\" 'Default directory
FileNameXls = Application.GetOpenFilename(filefilter:="Excel Files, *.xl*", MultiSelect:=True)
If Not IsArray(FileNameXls) Then Exit Sub ' User cancelled
Application.ScreenUpdating = False
For i = LBound(FileNameXls) To UBound(FileNameXls)
Set wb = Workbooks.Open(FileNameXls(i))
wb.Sheets(1).Range("D4:S21").Copy
ThisWorkbook.Sheets(1).Range("D4:S21").PasteSpecial Paste:=xlPasteValues, Operation:=xlAdd, SkipBlanks:=True, Transpose:=False
Application.CutCopyMode = False
wb.Close SaveChanges:=False
Next i
Application.ScreenUpdating = True
End Sub
وهو مفيد لحالتي ولكن لملفات اكسل موجودة
ولكن سؤالي في حال أردت انشاء ملفات اكسل جديدة واردت أن يقوم الكود في الأعلى بأخذ الملفات المنشئة حديئاً بشكل اوتوماتيكي دون تغيير الـ directory