Sub x() Dim p$, n$, wb As Workbook, st As Worksheet, t Dim hz As Worksheet, k Workbooks.Add '新建工作簿存放汇总结果 Set hz = ActiveSheet k = 1 '汇总的列 p = "i:\temp\1\" '需要处理的文件夹,必须以\结尾 n = Dir(p & "*.xlsx") '搜索文件夹下的文件 While n <> "" Set wb = Workbooks.Open(p & n, False, True) For Each st In wb.Sheets(Array("CHannel-8_1")) '需要汇总的工作表清单,请添加 hz.Cells(1, k) = wb.Name & "-" & st.Name k = k + 1 For Each t In Split("H、G、V、W", "、") '需要汇总的列,按汇总后的顺序给出 st.Range(t & ":" & t).Copy hz.Cells(1, k) k = k + 1 Next t Next st wb.Close n = Dir '查找下一个文件 Wend End Sub