比如我要引用一个没有打开的工作簿 文件.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追问
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
不打开不可能,只是在后台打开,不显示而已,引用完成后再后台关闭追问
那后台找开工作簿的方法是什么呢?后台打开的工作簿是否可以设置为非活动工作簿?