使用VBA在PowerPoint中从Excel加载数据到数组遇问题
解决PowerPoint VBA加载Excel数据到数组的问题
嘿,我一眼就揪出问题所在啦——你最后一行用了Set关键字给Variant数组赋值,但这完全没必要!Set是专门用来给对象变量赋值的,而Range.Value返回的是一个二维Variant数组,直接赋值就行,根本不需要加Set。
修正后的核心代码
把你最后一行的代码改成这样就没问题了:
Dim FindList As Variant ' 用来存储数据的数组 Dim xlApp As Object Dim xlBook As Object Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Open("C:\Users\Boxync\findreplace.xlsx") ' 去掉Set,直接给数组赋值 FindList = xlBook.Worksheets("Sheet1").Range("A1:A4").Value
额外实用提示
- 从Excel单列区域获取的数组是二维数组,比如你取的A1:A4,对应的元素索引是
FindList(1, 1)到FindList(4, 1)(VBA数组默认从1开始计数),后续做查找替换时要注意这个索引格式。 - 用完Excel后一定要记得关闭工作簿、退出应用,不然后台会残留Excel进程占用资源:
xlBook.Close SaveChanges:=False ' 按需调整是否保存修改 xlApp.Quit ' 释放对象变量,避免内存泄漏 Set xlBook = Nothing Set xlApp = Nothing
内容的提问来源于stack exchange,提问作者MaxF
相关产品推荐
相关产品推荐

