#excel #vba
#excel #vba
Вопрос:
У меня есть каталог папок с несколькими файлами Excel. Я написал код, который копирует каждый файл в этом каталоге на один лист Excel.
В этой папке есть несколько разных категорий файлов.
Мне нужно добавить условие, в котором указано, что файл должен содержать «Marios» в имени файла.
Option Explicit
Sub grabdata()
Dim FSO As Object
Dim fsoFol As Object
Dim fsoFile As Object
Dim wb As Workbook
Dim wksSource As Worksheet
Set FSO = CreateObject("Scripting.FileSystemObject")
Set fsoFol = FSO.GetFolder("C:Desktop" amp; "")
For Each fsoFile In fsoFol.Files
If fsoFile.Type Like "Microsoft*Excel*Work*" _
And Not fsoFile.Path = ThisWorkbook.FullName Then
On Error GoTo 10
Set wb = Workbooks.Open(fsoFile.Path, False, True)
Set wksSource = Nothing
On Error Resume Next
Set wksSource = wb.Worksheets("Summary")
If Not wksSource Is Nothing Then
wksSource.Range("A1:i100").Copy _
ThisWorkbook.Worksheets("Nintendo").Cells(Rows.Count, 1).End(xlUp).Offset(1)
End If
On Error GoTo 0
wb.Close False
End If
Next
10
End Sub
Комментарии:
1. Вы можете использовать
InStr
илиLike
для проверки, содержит ли имя файла слово.
Ответ №1:
Просто добавьте проверку в свой оператор If.
If fsoFile.Type Like "Microsoft*Excel*Work*" _
And Not fsoFile.Path = ThisWorkbook.FullName _
And fsoFile.Name Like "Marios*" Then