是否可以使用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
答案 0 :(得分:0)
在我看来,您已经在使用的是最好的方法。但是,如果您正在寻找其他选项:xlsx文件实际上是一个zip文件。您可以将其作为zip文件打开并提取内容。这可以在不启动Excel的情况下完成。因此它应该更快。
https://msdn.microsoft.com/en-us/library/dd922181(v=office.12).aspx
您可以将电子表格另存为文本文件,也可以另存为CSV文件。这两个选项之间的数据看起来会略有不同,因此请使用适合您的任何方法。
如果数据中永远不会包含制表符,那么使用制表符分隔(.txt)是可行的方法。打开文件,按行拆分,然后按列拆分。完成。