VBA如何在不打开工作簿的情况下引用工作簿中的单元格(关键在于不打开,打开的引用会操作)

比如我要引用一个没有打开的工作簿 文件.xlsx 中不连续的单元格区域A1:A5和A7:A10(只引用其数值)

Public excelapp As New Excel.Application
Dim fd As FileDialog
Dim Filepath As String
dim arr(1 to 100) as integer
filepath=你引用的那个文件的全部路径名称+文件名称
Set Workbook = excelapp.Workbooks.Open(Filename:=filepath)
With excelapp.Application
'--------------------------------你要引用什么就写下面,比如 我把目标文件中sheet1的A1-A100的值赋值给Arr数组
For x = 1 To 100
arr(x)=.sheets(1).cells(x,1).value
Next x
End With
excelapp.Application.DisplayAlerts = False
excelapp.Application.Quit

追问

运行没有结果啊。

追答

....因为我没打输出的命令啊。。。
在For x=1 to 100 ‘--这里你要读取多少数据 就把这里改掉。。是range还是行列。。。按你需求改
arr(x)=.sheets(1).cells(x,1).value
后面加上 msgbox(arr(x))
你可以看到arr数组里被已经成功读取的数值。。
另外 filepath的文件名后面要加文件类型后缀,比如 带VBA的Excel文件是 .xlsm
具体读过来的数据怎么输出还得看你的需求。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-18
不打开不可能,只是在后台打开,不显示而已,引用完成后再后台关闭追问

那后台找开工作簿的方法是什么呢?后台打开的工作簿是否可以设置为非活动工作簿?

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网