如何用vba依次打开本文件夹中所有文件 ,统计每个文件夹中的数据 ,并

2025-05-24 06:19:01
推荐回答(1个)
回答(1):

Sub 合()
Dim rangeArray() As String
Dim bk As Workbook
Dim sht As Worksheet
Dim wbCount As Integer
wbCount = Workbooks.Count
ReDim rangeArray(1 To wbCount - 1)
For Each bk In Workbooks
    If Not bk Is ThisWorkbook Then
        Set sht = bk.Worksheets(1)
        i = i + 1
        rangeArray(i) = "'[" & bk.Name & "]" & sht.Name & "'!" & _
    sht.Range("A1").CurrentRegion.Address(ReferenceStyle:=xlR1C1)
    End If
Next
Worksheets(1).Range("A1").Consolidate rangeArray, xlSum, True, True '汇总多个工作薄的第一个工作表
Set sht = Nothing
End Sub

这是一个将当前工作薄中的所有除当前打开的工作薄的数据汇总到当前工作薄的代码,供您参考。

您的各表中的数据结构不清楚,不好处理。这代码也不是本人写的。本人也是在此基础上根据自己的需要另写代码处理自己的问题的。

希望能帮到您。