我有一個xlsm,其他人通過目錄中的所有.xslx文件運行,運行一個子,保存它們。 (謝謝Tabias) 在這個子內我現在試圖添加一些東西,將添加第三個文件的最後一列。 我的第一個問題是如何定義源文件。我們需要從確切的文件中獲取數據,並使用相似的名稱。所以MC.xslx AHS從MC12february.xlsx複製和KA.xlsx必須從KAwhateverdate.xlsx進口excel-VBA:複製最後一列的動態路徑和名稱
Set wbA = Workbooks.Open("C:\files" & "\" & ActiveWorkbook.Name & "*.xlsx")
不幸的是,active.workbook.name包括進一步擴展,所以OR你們能告訴我一個解決方案或我必須先保存文件日期+名稱並將其更改爲wbA = Workbooks.Open("C:\files" & "\*" & ActiveWorkbook.Name)
對不對?
表單也一樣。這些將根據文件被稱爲MC,KA,KC,... 接下來,因爲我只想將文件的最後一列複製到另一個文件的最後一列,所以我很困惑。 I found this code,並認爲這是最容易理解的。
Sub import()
Dim Range_to_Copy As Range
Dim Range_Destination As Range
Dim Sheet_Data As Worksheet 'sheet from where we pull the data
Dim Sheet_Destination As Worksheet ' destination
Dim workbook_data As Workbook
Dim workbook_destination As Workbook
Set workbook_data = "N:\blah\deposit" & "\*" & ActiveWorkbook.Name
Set workbook_detination = ActiveWorkbook
Set Sheet_Data = ThisWorkbook.Sheets("Sheet1") 'help, how do i do this?
Set Sheet_Destination = ThisWorkbook.Sheets("Sheet1") ' and this?
Set Range_to_Copy = sht.UsedRange.Rows(sht.UsedRange.Rows.Count).Row
Set Range_Destination = sht.UsedRange.Rows(sht.UsedRange.Rows.Count).Row
Range_to_Copy.Copy Range_Destination 'this copies from range A to B (basically A.copy B), but i changed variable names to make it easier...
'you can simplify without variables like this:
'Sheets("Sheet1").Range("D1").Copy Sheets("Summary).Range("A1") <===== does the same as the above coding
沒有更簡單的解決方案似乎也適合。 example
正如你所看到的,我完全停留在如何定義最後一列和工作表名稱上。這段代碼對我來說是不完整的。有人能讓我走上正確的道路嗎?謝謝。
對不起,你能澄清一點問題嗎?問題是打開你的牀單?如果你在一個目錄中有.xlsx文件,你可以使用[循環目錄](http://stackoverflow.com/questions/10380312/loop-through-files-in-a-folder-using-vba)或看看[這個頁面]應該提供一些幫助(http://www.thespreadsheetguru.com/the-code-vault/2014/4/23/loop-through-all-excel-files-in-a-given-folder) 。此外,如果將工作簿名稱設置爲變量,則可以使用'WBname = Replace(wb.Name,「.xls」,「」)' – BruceWayne
Im'對不起,我知道這個擴展非常混亂。 – Lara
我已經循環遍歷了名爲KA.xslx,KC.xslx,MC.xslx,WT.xslx等文件的目錄....因此,在循環中打開一個文件(duh),更改了某些單詞,製作了一些表單並檢查所有表單是否爲空列。我想添加一個步驟,將其他文件的最後一列複製到現在處於活動狀態的文件中。另一個文件對於目錄中的每個文件都不相同。因此,KA.xlsx必須複製名爲KA1564.xlsx的文件的最後一列,並且KC.xlsx必須從KC68787.xlsx – Lara