2015-11-03 78 views
1

我有一個的「解壓1,提取物2,提取3」等,幷包含公式的主摘要頁面依賴於所有這些選項卡的標籤名稱的模板工作簿。我還有許多工作簿(22),每個工作簿都包含一個工作表,其中包含數據提取。我需要能夠遍歷這些工作簿並複製工作表而無需刪除並插入新選項卡(需要使用現有選項卡)。最初我有這樣的:複製工作表在不同的工作簿

但這只是插入新標籤,並沒有使用現有的標籤結構。

有沒有簡單的方法來做到這一點?

回答

1

由於22個工作簿只有1片,不通過每個這些片材的需要循環。此外,您可以將工作表的內容複製到您的主簿中所需的任何表單中。

所以更換,

For Each Sheet In ActiveWorkbook.Sheets 
    Sheet.Copy After:=ThisWorkbook.Sheets(1) 
    Next Sheet 

隨着

ThisWorkbook.Sheets("Extract 1").UsedRange.Value = ActiveWorkbook.Sheets(1).UsedRange.Value 

注:使用的.UsedRange假設在每個工作表中的數據結構是一樣的,在Extract牀單和有沒有合併細胞。

並假設您將第一個工作簿複製到Extract 1工作表等,您可以在宏中放置一個計數器,將每個工作簿粘貼到另一個工作表中。

Sub GetSheets() 
Dim x As Integer, wb as Workbook 

Path = "C:\Users\hill\Desktop\Summary Doc Output Files\Summary Doc Output Files\" 

Filename = Dir(Path & "*.xls") 

x = 1 
Do While Filename <> "" 

    Set wb = Workbooks.Open Filename:=Path & Filename, ReadOnly:=True 

    ThisWorkbook.Sheets("Extract " & x).UsedRange.Value = wb.Sheets(1).UsedRange.Value  

    wb.Close false 

    x = x + 1 

    Filename = Dir() 

Loop 


End Sub 
相關問題