Option Explicit
 
' 文件系统对象,用来操作文件/目录;
Private fso As New FileSystemObject
  
Sub 汇总当前目录下的文件()
    ' 得到当前工作簿所在目录的路径字符串;
    Dim strCurDir As String
    strCurDir = ThisWorkbook.Path
 
    ' 得到工作簿所在目录的文件夹对象;
    Dim objFolder As Folder
    Set objFolder = fso.GetFolder(strCurDir)
 
    ' i用于记录汇总表的当前行,由于数据从第二行开始,所以这里i=2;
    Dim i As Integer
    i = 2
 
    ' 得到当前工作簿的第一个工作表对象(也就是汇总表);
    Dim objSheet As Worksheet
    Set objSheet = ThisWorkbook.Sheets(1)
 
    ' 遍历汇总工作目录下的所有文件;
    Dim objFile As File
    For Each objFile In objFolder.Files
        ' 如果当前文件不是汇总文件(是数据文件),就打开,读取数据;
        If InStr(objFile.Name, "特采单清单汇总") = 0 Then
            ' 打开工作簿,并设置工作簿对象;
            Dim objBook As Workbook
            Set objBook = Workbooks.Open(objFile.Path)
 
            ' 设置第二个工作表对象,此对象对应每个数据文件;
            Dim objSheet2 As Worksheet
            Set objSheet2 = objBook.Sheets(1)