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