2017-03-18 35 views
-2

我有了一列excel文件名列表的工作簿,我需要從使用這些文件的名稱有一個宏觀獲取數據從一個細胞列表中的每個文件。我從哪開始呢?對不起,這個愚蠢的問題。 workbook with data sheet 我想從一個工作簿的名字來源於K列獲取數據,與工作表的名稱從L列來,始終細胞A13。並把該值的正確行中列M.使用VBA在Excel中擺脫封閉的工作簿中的數據與多個文件名

+0

你需要打開每個工作簿,嘗試'Workbooks.Open' https://msdn.microsoft.com/en-us/library/office/ff194819.aspx –

+0

感謝您發表評論。也許我應該更清楚。我想知道從哪裏開始學習VBA,關於這個項目的語法用法,結構等等。我應該使用宏還是腳本,或者我對這種差異感到困惑。 –

回答

0

這是你必須做的:

  1. 迭代通過每個名字的(可以說名單的範圍是A1:A5)
  2. 打開該工作簿。
  3. 從細胞中獲得的價值
  4. 粘貼在主簿重視
  5. 關閉工作簿,然後去下一個

這是你如何做到這一點:

Sub CopyFromWorkbooks() 
Dim path As String 
    path = "THE PATH WERE THOSE WORKBOOKS ARE SAVED (Eg: "C:\Users\YOU\Documents")" 
      For Each cell In ThisWorkbook.Sheets("YOUR_SHEET_NAME").Range("A1:A5") 
      'Open the workbook 
      Workbooks.Open Filename:=path & "\" & cell.Value 'adding workbook name and path to get full workbook path 

      'Copy cell value to this workbook 
      Workbooks(cell.Value).Sheets("YOUR_SHEET_NAME").Range("THE RANGE TO COPY").Copy 

      'Paste copied value in this workbook 
      ThisWorkbook.Sheets("YOUR_SHEET_NAME").Range("THE RANGE TO PASTE").PasteSpecial Paste:=xlPasteValues 

      'Close Workbook 
      Workbooks(cell.Value).Close True 

      Next cell 
End Sub 

此代碼是永遠粘貼,如果你需要與幫助剛剛寫回相同的細胞複製的數據;)

+0

感謝您的幫助。我仍然迷失。即使只有一個單元,我也無法工作。但我不確定該代碼是否正是我想要做的。讓我看看我是否可以放置一些屏幕截圖。 –

+0

感謝截圖有一定的幫助,在此期間我**的完整路徑糾正上面的代碼中,「\」是在錯誤的方向(/),看看它是否工作現在如果不還告訴我你的錯誤」重新獲得** –

+0

啊現在就開始工作了。好吧,我會試着看看我能否弄清楚如何完成整個列表。另外我認爲如果它沒有真正打開工作簿,會更好。正確? –

相關問題