Excel VBA – 从closures的工作簿复制整个列

我有一个Excel工作簿,其中包含大量的信息,我想将其插入到包含此macros的新工作簿中。

我真正以后是一个普通的函数,需要一些像sourcefile和column这样的参数。 我只需要列,但源文件的整个列。

这是我如何描绘看起来像(伪代码)

Public Function getColumnFromWorkbook(ByVal strSourceFile, ByVal sourceWorksheet) Application.ScreenUpdating = False Set wb = Workbooks.Open(strSourceFile, True, True) With ThisWorkbook.Worksheets(destSheet) .column(1) = wb.Worksheets(sourceWorksheet).Columns(sourceColumn) End With End Function 

上面的function可能不起作用。 但它可能会显示我基​​本上:)

这似乎适用于我 – 注意我已经扩展了参数列表。 没有错误检查。

 Public Function getColumnFromWorkbook(ByVal strSourceFile As String, ByVal sourceWorksheetName As String, ByVal sourceColumn As Long, ByVal destSheet As Worksheet) Application.ScreenUpdating = False Dim wb As Workbook Set wb = Workbooks.Open(strSourceFile, True, True) wb.Worksheets(sourceWorksheetName).Columns(sourceColumn).Copy (destSheet.Columns(1)) wb.Close Application.ScreenUpdating = True End Function