2013-10-28 86 views
0

我想將多個工作簿加載到同一張工作表,這些工作簿都將包含一個共同的列標題。在我加載多個工作簿後,我想搜索我想要的行並將其粘貼到新工作表上。加載多個工作簿(和篩選)到同一張工作表excel 2010

到目前爲止,我已經完成了搜索和粘貼部分,但需要加載多個工作簿的部分是相當艱難的,任何人都可以幫我解決這個問題嗎?謝謝。

Sub SearchRowAndCopy() 
Dim strSearch 
strSearch = Application.InputBox("Please enter the search string") 
x = 2 
Do While Cells(x, 1) <> "" 
If Cells(x, 2) Like "*" & strSearch & "*" Then 
Worksheets("Sheet1").Rows(x).Copy 
Worksheets("Sheet2").Activate 
erow = Sheet2.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row 
ActiveSheet.Paste Destination:=Worksheets("Sheet2").Rows(erow) 
End If 
Worksheets("Sheet1").Activate 
x = x + 1 
Loop 
End Sub 
+0

你可以用'迪爾(FOLDERPATH& 「的* .xls *」)'來獲得給定文件夾的所有工作簿和'Workbooks.Open()'加載每一個到Excel中。或者是您遇到問題的複製? –

+0

@TimWilliams不,我試圖從我選擇的每個工作簿中提取數據,並將它們編譯成一張紙,對不起,如果我沒有讓自己清楚。 – user2837847

+0

選擇如何?他們已經開放了嗎? –

回答

1
Sub GetFiles() 
    Dim fPath As String 
    Dim sFile As String 
    Dim wb As Workbook 

    fPath = "D:\Analysis\" 

    sFile = Dir(fPath & "*.xls*") 

    Do While Len(sFile) > 0 
     Debug.Print fPath & sFile 
     Set wb = Workbooks.Open(Filename:=sFile, ReadOnly:=True) 
     '... 
     'do your copying 
     '... 
     wb.Close False 
     sFile = Dir 
    Loop 
End Sub 
相關問題