現在同一個檔案夾a中有格式相同的表1,表2,表3。我現在需要在一個新的表5中自動獲得這三張表的資料,當檔案夾a中再增加一個相同格式的表4時,表5中的資料會又會自動更新,應該如何操作
uj5u.com熱心網友回復:
你這個得自動伺服,定時重繪那個檔案夾,當檔案夾夾中檔案發生變動,就把表5中的資料更新掉uj5u.com熱心網友回復:
Sub HzwWb()Dim bt As Range, r As Long, c As Long
r = 1 '表頭行數
c = 4 '表頭列數
Range(Cells(r + 1, "a"), Cells(1024576, c)).ClearContents '清除匯總表中原資料
Application.ScreenUpdating = False
Dim filename As String, wb As Workbook, erow As Long, fn As String, arr As Variant
filename = Dir(ThisWorkbook.Path & "\*.xls")
Do While filename <> ""
If filename <> ThisWorkbook.Name Then '判斷檔案是否是本作業簿
erow = Range("a1").CurrentRegion.Rows.Count + 1 '取得匯總表中第一條空行行號
fn = ThisWorkbook.Path & "\" & filename
Set wb = GetObject(fn) '將fn代表的作業簿變數賦給wb
Set sht = wb.Worksheets(1) '匯總的是每個作業簿中的第一張作業表
'將資料表中的記錄保存在arr變數中
arr = sht.Range(sht.Cells(r + 1, "A"), sht.Cells(1024576, "B").End(xlUp).Offset(0, c - 1))
'將arr資料寫入匯總表
Cells(erow, "A").Resize(UBound(arr, 1), UBound(arr, 2)) = arr
wb.Close False
End If
filename = Dir '用dir函式取得其他檔案名,并賦給變數
Loop
Application.ScreenUpdating = True
End Sub
搬來的供你參考*************************
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/23390.html
