2011-10-24 151 views
12

我們需要編寫一個包含VBA代碼的Excel電子表格;該代碼讀取並執行第一個工作表中的數據操作。將Excel電子表格數據導入包含VBA的另一個Excel電子表格

用戶將收到包含數據但不包含VBA代碼的電子表格。我們需要能夠將包含數據的電子表格中的數據自動導入包含VBA代碼的電子表格中。包含數據的工作表與包含數據的電子表格的工作表具有相同的列格式和數據類型。

理想情況下,您將打開包含VBA代碼的電子表格,顯示允許用戶導航到包含數據的電子表格的用戶界面,單擊確定,數據將被導入。

你會怎麼做呢?必須在Excel電子表格中使用VBA完成。

非常感謝。

+0

另一個......鏈接點擊進入製藥業騙局。請刪除並用Wayback機器副本進行更換。同時,讀者請注意點擊上面的鏈接(vba4all [dot] com ...)。 –

回答

25

這應該讓你開始: 在自己的Excel工作簿使用VBA,有它提示用戶他們的數據文件的文件名, 然後只複製固定的範圍到目標工作簿(可能是相同的工作簿作爲您的宏啓用一個,或第三個工作簿)。 這裏是如何工作的快速VBA例如:

' Get customer workbook... 
Dim customerBook As Workbook 
Dim filter As String 
Dim caption As String 
Dim customerFilename As String 
Dim customerWorkbook As Workbook 
Dim targetWorkbook As Workbook 

' make weak assumption that active workbook is the target 
Set targetWorkbook = Application.ActiveWorkbook 

' get the customer workbook 
filter = "Text files (*.xlsx),*.xlsx" 
caption = "Please Select an input file " 
customerFilename = Application.GetOpenFilename(filter, , caption) 

Set customerWorkbook = Application.Workbooks.Open(customerFilename) 

' assume range is A1 - C10 in sheet1 
' copy data from customer to target workbook 
Dim targetSheet As Worksheet 
Set targetSheet = targetWorkbook.Worksheets(1) 
Dim sourceSheet As Worksheet 
Set sourceSheet = customerWorkbook.Worksheets(1) 

targetSheet.Range("A1", "C10").Value = sourceSheet.Range("A1", "C10").Value 

' Close customer workbook 
customerWorkbook.Close 
+0

謝謝 - 那正是我以後的樣子。 – Anthony

相關問題