第2个回答 2012-05-03
你这个是有点难度。
如果你的表的格式全部是一样的,且没有合并单元格的话,
倒可以编个VBA将所有表总部合并到一个表里再去统计就方便多了。
看了你的表里好像是有合并单元格的
Dim MyPath, MyName, AWbName
Dim Wb As Workbook, WbN As String
Dim g As Long
Dim Num, ini As Long
Dim i, m, n, a, b, c, d
Application.ScreenUpdating = False
MyPath = ActiveWorkbook.Path
MyName = Dir(MyPath & "\" & "*.xls")
AWbName = ActiveWorkbook.Name
Num = 0
Do While MyName <> ""
If MyName <> AWbName Then
Set Wb = Workbooks.Open(MyPath & "\" & MyName)
Num = Num + 1
With Workbooks(1).ActiveSheet
Wb.Sheets(1).Range(Wb.Sheets(1).Cells(1, 1), Wb.Sheets(1).Cells(3, Wb.Sheets(1).UsedRange.Columns.Count)).Copy .Cells(1, 1)
Wb.Sheets(1).Range(Wb.Sheets(1).Cells(4, 1), Wb.Sheets(1).Cells(Wb.Sheets(1).UsedRange.Rows.Count, Wb.Sheets(1).UsedRange.Columns.Count)).Copy .Cells(.Range("A65536").End(xlUp).Row + 1, 1)
WbN = WbN & Chr(13) & Wb.Name
Wb.Close False
End With
End If
MyName = Dir
Loop
Application.CutCopyMode = False
Application.ScreenUpdating = True
MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"
寻制一个宏,将里面的内容换成上面代码。
然后将你要统计的所有的表放在同一个文件夹里,然后执行上面的宏
会将所有该文件夹内每个表的最左面的表从第四行开始从部合并到一个表内
这个就好统计了