同事前來(lái)求助,希望對(duì)多張工作表的數(shù)據(jù)進(jìn)行匯總,這些工作表的結(jié)構(gòu)完全相同,只不過(guò)其中的數(shù)據(jù)有區(qū)別,需要將多張工作表的內(nèi)容復(fù)制到一個(gè)新的工作表(如圖1)。手工復(fù)制雖然可行,但工作量既大而且也容易遺漏,有沒(méi)有簡(jiǎn)單一些的方法呢?利用VBA代碼,可以完美解決這一問(wèn)題。
按下“Alt+F11”組合鍵,打開(kāi)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ù)需要自行修改,檢查無(wú)誤之后,選擇“文件→關(guān)閉并返回到Microsoft Excel”命令,返回Excel主界面,按下“Alt+F8”組合鍵,打開(kāi)“宏”對(duì)話框,運(yùn)行“hebing”宏,很快就可以看到合并效果(如圖2)。