2014-09-27 34 views
0

因此我有以下代碼,它使用excel中的advancedfilter函數爲我篩選幾個條件,然後將其複製到具有條件名稱的新工作簿中。我現在要做的是呃,讓我們說過濾條件1,複製它,而不是創建新的工作簿並將其粘貼到那裏,我希望它將其粘貼到具有相同名稱的當前工作簿中,但是訣竅這裏是我不希望它覆蓋我所擁有的當前數據,但要找到最後一行(我知道該怎麼做)並粘貼到那裏。將過濾的數據複製到特定工作表

Dim cell As Range 
Dim curPat As String 

curpath = ActiveWorkbook.Path & "\" 

Application.ScreenUpdating = False 
Application.DisplayAlerts = False 

For Each cell In Range("fbtlist") 
    [valsalesman] = cell.Value 
    Range("myFBT").AdvancedFilter Action:=xlFilterCopy, _ 
     criteriarange:=Range("criteria"), copytorange:=("extract"), unique:=False 
    Range(Range("extract"), Range("extract").End(xlDown)).Copy 
    Workbooks.Add 
    ActiveSheet.Paste 
    ActiveWorkbook.SaveAs Filename:=curpath & cell.Value & Format(Now, "ddmmyyyy - hhmmss") & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False 
    ActiveWindow.Close 
    Range(Range("extract"), Range("extract").End(xlDown)).ClearContents 
Next cell 

End Sub 

任何幫助或指導,將不勝感激。

回答

0

希望下面的代碼將匹配您的期望

Dim cell As Range 
Dim curPat As String 

curpath = ActiveWorkbook.Path & "\" 

Application.ScreenUpdating = False 
Application.DisplayAlerts = False 

For Each cell In Range("fbtlist") 
    [valsalesman] = cell.Value 
    Range("myFBT").AdvancedFilter Action:=xlFilterCopy, _ 
    criteriarange:=Range("criteria"), copytorange:=("extract"), unique:=False 
Range(Range("extract"), Range("extract").End(xlDown)).Copy 
Workbooks.Add 'Instead of creating use the Workbook.open and perform as below 
'You may insert this code to find the last used row 
a = 2 
do while cells(a, 2) <>"" 
a = a+1 
loop 
cells(a,1).select 
Activesheet.paste 
ActiveWorkbook.SaveAs Filename:=curpath & cell.Value & Format(Now, "ddmmyyyy - hhmmss") & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False 
ActiveWindow.Close 
Range(Range("extract"), Range("extract").End(xlDown)).ClearContents 
Next cell 

End Sub 
+0

嘿感謝,Yuvaraj。但讓我們說標準的名稱是「Criteria1」,我有我的目錄中的similliar名稱的工作簿,是否有一個VBA代碼,將自動匹配標準名稱的工作簿,並粘貼在那裏與我需要做一個接一個。大約有10個工作簿,標準經常變化,所以vba更容易做到。 – user2722393 2014-09-29 07:39:13

+0

您可以檢查此線程[使用特定通配符打開此目錄中的所有文件](http://stackoverflow.com/questions/20554542/open-all-files-in-this-directory-with-a-specific-wildcard ) – 2014-09-29 11:00:29

相關問題