同事前來求助,希望對多張工作表的數(shù)據(jù)進(jìn)行匯總,這些工作表的結(jié)構(gòu)完全相同,只不過其中的數(shù)據(jù)有區(qū)別,需要將多張工作表的內(nèi)容復(fù)制到一個(gè)新的工作表(如圖1)。手工復(fù)制雖然可行,但工作量既大而且也容易遺漏,有沒有簡單一些的方法呢?利用VBA代碼,可以完美解決這一問題。
按下“Alt+F11”組合鍵,打開Microsoft Visual Basic for Application編輯器窗口,依次選擇“插入/模塊”命令,在右側(cè)窗格插入一個(gè)空白模塊手工輸入或粘貼如下代碼(代碼文件直接下載地址為http://pan.baidu.com/s/13taSQ):
Sub hebing()
Sheets.Add
Application.ScreenUpdating = False
For j = 1 To Sheets.Count
If Sheets(j).Name <> ActiveSheet.Name Then
X = Range("A65536").End(xlUp).Row + 1
Sheets(j).UsedRange.Copy Cells(X, 1)
End If
Next
Range("A1").Select
Application.ScreenUpdating = True
MsgBox "當(dāng)前工作簿的所有工作表已完成合并!", vbInformation, "提示"
End Sub
上述代碼中的代碼名、提示信息可以根據(jù)需要自行修改,檢查無誤之后,選擇“文件→關(guān)閉并返回到Microsoft Excel”命令,返回Excel主界面,按下“Alt+F8”組合鍵,打開“宏”對話框,運(yùn)行“hebing”宏,很快就可以看到合并效果(如圖2)。