VBA如何在不打开工作簿的情况下引用工作簿中的单元格(关键在于不打开,打开的引用会操作)
比如我要引用一个没有打开的工作簿文件.xlsx中不连续的单元格区域A1:A5和A7:A10(只引用其数值)...
比如我要引用一个没有打开的工作簿 文件.xlsx 中不连续的单元格区域A1:A5和A7:A10(只引用其数值)
展开
2个回答
展开全部
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
具体读过来的数据怎么输出还得看你的需求。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询