將EXCEL中的多個SHEET中內容合並到一個SHEET中


情景: 由於數據量大,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

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM