2016-04-21 28 views
0

我是一個總的新手,請在這裏溫柔地大聲笑。在Excel中使用VBA將特定列複製到NEW工作簿中

我有一張工作簿2張,我只關心Sheet1這個功能。

表一有一堆列,我只需要列A和G的數據。我需要將這些列複製到一個新的工作簿。我這樣做是成功的使用下面的代碼我在這個網站

Sub dural() 
Dim r1 As Range, r2 As Range 
Sheets(1).Select 
Set r1 = Range("A:A") 
Set r2 = Range("G:G") 
Set wbNew = Workbooks.Add 
r2.Copy Range("A1") 
r1.Copy Range("B1") 
End Sub 

這做,但是我需要什麼樣的發現,我想它自動創建和輸出保存爲一個新的文件,最好是在一個特定的目錄。我不需要它打開並顯示像上面的代碼。讓我們把它叫做output.xlsx。原始文件是SOURCE.xlsm

衷心感謝你的幫助:)

+0

'成功地使用下面的代碼我對這個site'發現這個網站也有你想要做的〜_^ – findwindow

+0

我一直在積極尋找什麼!還沒有找到我正在尋找的東西,也許你可以指出我正確的方向? –

+0

'wb.saveas filename:=' – findwindow

回答

1

一些簡單的像這樣:

Sub dural() 
    With Workbooks.Add 
    ThisWorkbook.Sheets(1).Range("G:G").Copy .Sheets(1).Range("A1") 
    ThisWorkbook.Sheets(1).Range("A:A").Copy .Sheets(1).Range("B1") 
    .SaveAs "your path + filename here" 
    .Close 
    End With 
End Sub 

應該做的一切你想要的。

如果您還有任何問題,只是問:)

+0

工作很好,我向你致敬! 如果列中包含公式,是否可以將它們粘貼爲值?我還沒有搜索,只是來找我,因爲我輸入這個 –

+0

你可以做到這一點,再次分裂複製粘貼,然後使用'.PasteSpecial 12'或類似的東西...檢查[此鏈接'.PasteSpecial'](https://msdn.microsoft.com/en-us/library/office/ff839476.aspx) –

相關問題