从Excel文件导入列和路径到数组

时间:2018-08-08 17:35:42

标签: excel vba excel-vba

是否可以使用VBA从特定的excel文件中将列导入为数组的更快方法?

我当前正在使用的代码必须打开excel文件。有没有办法在后台做到这一点?有没有一种方法可以从第一列逐行读取值?

谢谢

我的下面的代码:

Sub LoadExcelArray()

Dim Vendor As Variant
Dim wb As Workbook
Dim sFile As String
sFile = "D:\Desktop\test.xlsx"

Application.ScreenUpdating = False

Set wb = Application.Workbooks.Open(sFile)

Vendor = wb.Sheets(1).Range("A1:A95").Value2

wb.Close False

Application.ScreenUpdating = True

MsgBox Vendor(30, 1)

End Sub

1 个答案:

答案 0 :(得分:0)

在我看来,您已经在使用的是最好的方法。但是,如果您正在寻找其他选项:xlsx文件实际上是一个zip文件。您可以将其作为zip文件打开并提取内容。这可以在不启动Excel的情况下完成。因此它应该更快。

https://msdn.microsoft.com/en-us/library/dd922181(v=office.12).aspx

您可以将电子表格另存为文本文件,也可以另存为CSV文件。这两个选项之间的数据看起来会略有不同,因此请使用适合您的任何方法。

如果数据中永远不会包含制表符,那么使用制表符分隔(.txt)是可行的方法。打开文件,按行拆分,然后按列拆分。完成。