頭條号名稱
親愛的讀者,Excel愛好者:
大家新年好!
在實際工作中,我們是否經常遇到許多的工作簿需要合并在一起的情形呢?
我想答案是肯定的。特别是大量工作表的内容結構十分相似的情況下,這就需要我們對其做合并工作,以便我們進行統計工作。
要是工作表張數不多的情況下(3-5張工作表),我們可以用複制一張工作表,再把它粘貼到一新的工作表中。問題關鍵是如果工作表張數特别多,甚至數百上千張工作表的情況下呢,這種複制粘貼的老法子是不是非常的恐怖呢?
朋友們,讀者們,不用害怕!
現在就和大家分享一種超級使用,快速合并工作表的方法。
代碼如下:
Sub CombineWbs()
Dim bt As Range, r As Long, c As Long
r = 1
c = 7
Dim wt As Worksheet
Set wt = ThisWorkbook.Worksheets(1)
wt.Rows(r 1 & ":1048576").ClearContents
Application.ScreenUpdating = False
Dim FileName As String, sht As Worksheet, wb As Workbook, WbN As String
Dim Erow As Long, fn As String, arr As Variant, Num As Long
FileName = Dir(ThisWorkbook.Path & "\*.xlsx")
Num = 0
Do While FileName <> ""
If FileName <> ThisWorkbook.Name Then
Erow = wt.Range("A1").CurrentRegion.Rows.Count 1
fn = ThisWorkbook.Path & "\" & FileName
Set wb = GetObject(fn)
Set sht = wb.Worksheets(1)
Num = Num 1
arr = sht.Range(sht.Cells(r 1, "A"), sht.Cells(1048576, "B").End(xlUp).Offset(0, 7))
wt.Cells(Erow, "A").Resize(UBound(arr, 1), UBound(arr, 2)) = arr
WbN = WbN & Chr(13) & wb.Name
wb.Close False
End If
FileName = Dir
Loop
Application.ScreenUpdating = True
MsgBox "共合并了" & Num & "個工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"
End Sub
'以上代碼,隻要複制粘貼到Excel開發工具下的工程編輯窗口下,然後點擊運行按鈕,就可以快速實現上述功能了。
如果喜歡這篇文章,請點贊。如果有好的建議,請發表評論。
謝謝大家寶貴的時間!!
溫馨提示:(1)需要合并的工作簿和執行合并的活動工作簿,二者必須在同一文件夾下;
(2)需要合并的工作表内容及結構相似。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!