Microsoft Excel是Microsoft為使用Windows和Apple Macintosh操作系統的電腦編寫的一款電子表格軟件。直觀的界面、出色的計算功能和圖表工具,再加上成功的市場營銷,使Excel成為最流行的個人計算機數據處理軟件。 在Excel中,用數據透視表可以輕松進行多個區域的數據合并計算。但當區域較多時,要在數據透視表向導中多次選擇區域,稍顯繁瑣。如果需要合并的工作表較多,可以用下面的VBA代碼來快速合并數據。區域的大小可以不同,各行或列的品種可以重復,但要求工作簿中各工作表中的數據存放在相同的位置。如下圖為工作簿中某兩個工作表中的數據,區域的起始位置都是E5單元格: ??? ??? ??? 方法是:將要存放合并數據的工作表命名為“匯總”,刪除工作簿中沒有合并數據的工作表,各工作表中要合并的數據右側和下邊沒有其他數據。然后在VBA編輯器中運行下面的代碼: Sub Summary() ??? Worksheets("匯總").[e5].CurrentRegion.ClearContents ??? On Error Resume Next ??? ??? Dim sh As Worksheet ??? For Each sh In ActiveWorkbook.Sheets ??????? If sh.Name <> "匯總" Then ??????????? With sh ??????????????? '獲取工作表中數據區域的行數 ??????????????? i = .[e65536].End(xlUp).Row ??????????????? '獲取工作表中數據區域的列數 ??????????????? j = .[iv5].End(xlToLeft).Column ??????????????? '將各工作表區域按R1C1樣式存入tempstr字符串中,各區域之間用","隔開 ??????????????? tempstr = tempstr & "'" & sh.Name & "'!R5C5:R" & i & "C" & j & "," ??????????? End With ??????? End If ??? Next ??? '清除tempstr字符串中最后一個"," ??? tempstr = Left$(tempstr, Len(tempstr) - 1) ??? '將tempstr字符串中的各區域名存入一維數組arr中 ??? arr = Split(tempstr, ",") ??? ??? '將各個區域的數據合并計算到"匯總"表 ??? Worksheets("匯總").[e5].Consolidate arr, xlSum, True, True ??? Worksheets("匯總").[e5] = Sheet1.[e5] End Sub ??? 上述代碼將工作簿中除“匯總”表以外的所有工作表中從E5單元格開始的區域合并計算到“匯總”表中
Excel整體界面趨于平面化,顯得清新簡潔。流暢的動畫和平滑的過渡,帶來不同以往的使用體驗。
|