EXCEL 中跨工作表表格汇总
总公司要求子公司都上报几种同样的报表,再把这些报表汇表生成汇总表,比如资产负债表等。
我的思路是,在一个 EXCEL 文件中,做多个工作表,每个工作表表示一个子公司,在工作表里相同的位置放同样格式的表格。
先做好基础数据表:
增加汇总表工作表,把表格样子做好:
在需要汇总的格子上“插入批注”:
批注内容写成“SUM”:
然后到“开发工具”里打开“ Visual Basic”编辑器,在“汇总表”里写事件:
Private Sub Worksheet_Activate()
Dim iRow As Integer
Dim iCol As Integer
iRow = 10
iCol = 10
Dim iAmount As Double
For i = 1 To iRow
For j = 1 To iCol
If Cells(i, j).NoteText = "SUM" Then
iAmount = 0
For isheet = 1 To Sheets.Count - 1
If Sheets(isheet).Cells(i, j) <> "" And Left(Sheets(isheet).Cells(i, j), 1) <> "-" Then
On Error Resume Next
iAmount = iAmount + CDbl(Sheets(isheet).Cells(i, j))
If Err.Number <> 0 Then MsgBox ("Sheet " + CStr(isheet) + ":" + CStr(i) + "," + CStr(j) + ":" + Sheets(isheet).Cells(i, j))
On Error GoTo 0
End If
Next isheet
If iAmount <> 0 Then
Cells(i, j) = iAmount
Else
Cells(i, j) = ""
End If
End If
Next j
Next i
End Sub
写好后,再回到 EXCEL 里,当工作表切换到“汇总表”时,所有标记“SUM”批注的格子就会自动汇总。