情景: 由於數據量大,sheet頁數多,手工拷貝比較麻煩,也容易出錯
條件: 一個worksheet里面的多個sheet中的數據都是一樣的格式,就是說都有head line, 字段數也是一樣的,只是數據和行數不一樣.
方案: 使用vba效率高,速度快.
步驟:
1. 在要合並的excel中新建一個空白頁面,並放到最前面,作為第一個sheet頁
2.拷貝如下VBA代碼,並運行
百度找了很多VBA代碼都不能正常合並. 找了老半天終於找到了個可以用的:
Sub hb() Dim bt, i, r, c, n, first As Long bt = 1 '表頭行數,多行改為對應數值 Cells.Clear For i = 1 To Sheets.Count If Sheets(i).Name <> ActiveSheet.Name Then '務必當前在新建的空白頁面中 If first = 0 Then c = Sheets(i).Cells(1, Columns.Count).End(xlToLeft).Column '獲取字段數https://www.cnblogs.com/acetaohai123/p/6505447.html Sheets(i).Range("A1").Resize(bt, c).Copy Range("A1") '拷貝第一行,也就是head line n = bt + 1: first = 1 End If r = Sheets(i).Cells(Rows.Count, "A").End(xlUp).Row '獲取要拷貝的sheet的行數 Sheets(i).Range("A" & bt + 1).Resize(r - 1, c).Copy Range("A" & n) '拷貝當前sheet中的數據到第N行 n = n + r - bt '更新行數變量n End If Next End Sub