وعليكم السلام
على حسب ما فهمت من حضرتك
CODE
Sub CopyFilesBasedOnList()
'تحديد المجلد الذي يحتوي على الملفات المراد نسخها
Dim sourceFolder As String
sourceFolder = "C:FolderName"
'تحديد المجلد الذي يحتوي على الملفات المراد لصقها
Dim destFolder As String
destFolder = "C:NewFolderName"
'تحديد اسم ملف الاكسل ورقم الورقة المستخدمة
Dim wb As Workbook
Dim ws As Worksheet
Set wb = Workbooks("ExcelFileName.xlsx")
Set ws = wb.Worksheets("Sheet1")
'تحديد المدى الذي يحتوي على الأسماء في العمود A
Dim lastRow As Long
lastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row
Dim nameRange As Range
Set nameRange = ws.Range("A2:A" & lastRow)
'تحديد كل الملفات في المجلد المحدد
Dim file As Variant
Dim files As Collection
Set files = New Collection
Dim fileName As String
fileName = Dir(sourceFolder & "*")
While fileName <> ""
files.Add fileName
fileName = Dir()
Wend
'تنفيذ النسخ
Dim cell As Range
Dim fileExists As Boolean
For Each cell In nameRange
fileExists = False
For Each file In files
If InStr(1, file, cell.Value, vbTextCompare) > 0 Then
If fileExists = False Then
'نسخ الملف إلى المجلد المحدد
FileCopy sourceFolder & file, destFolder & file
fileExists = True
Else
'إذا وجد ملفات متشابهة، يتم نسخها أيضا
FileCopy sourceFolder & file, destFolder & "(1)" & file
End If
End If
Next file
Next cell
MsgBox "تمت العملية بنجاح"
End Sub
-------------------------
ملحوظه: يقوم الكود بنسخ جميع الملفات الموجودة في المجلد المحدد (sourceFolder) والتي تم تحديدها في قائمة في ملف Excel في العمود A إلى المجلد الجديد (destFolder). كما يتم مراعاة نسخ الملفات المتشابهة.
يجب عليك تغيير قيم المتغيرات (sourceFolder و destFolder و ExcelFileName و Sheet1) لتتناسب مع احتياجاتك.