将Excel电子表格数据导入另一个包含VBA的Excel电子表格
我们需要写一个VBA代码的Excel电子表格, 该代码读取和执行第一个工作表中的数据的操作。
用户将会收到包含数据但不包含VBA代码的电子表格。 我们需要能够将包含数据的电子表格中的数据自动导入到包含VBA代码的电子表格中。 包含数据的工作表与包含数据的电子表格的工作表具有相同的列格式和数据types。
理想情况下,您将打开包含VBA代码的电子表格,显示一个允许用户导航到包含数据的电子表格的UI,单击确定,数据将被导入。
你怎么去做这个? 它必须在Excel电子表格中使用VBA来完成。
非常感谢。
这应该让你开始:在自己的Excel工作簿中使用VBA,提示用户input数据文件的文件名,然后将该固定范围复制到目标工作簿(可以是与启用macros,或第三个工作簿)。 下面是一个快速的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
数据可以从另一个Excel中通过工作簿方法或外部参考或通过数据导入设备拉入到Excel中。
如果你想阅读,或者即使你想更新另一个Excel工作簿,可以使用这些方法。 我们可能不仅仅依赖于VBA。
有关这些技术的更多信息,请点击这里参考文章