Объединение файлов с определенным текстом в имени файла; из каталога папки в один файл Excel

#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