我正在尝试编写一些在excel中选择范围的代码行,但是该范围的索引有任何建议的语法错误?此外,我正在尝试将XML文件保存为xlsm文件,文件名来自存储在数组中的两个文件名的连接,并且得到类似的错误。任何建议??
Range (Allfiles(index)).select 'Allfiles is an array containing the file names ' type error
Activeworkbooks.saveas "c:\Allfiles(1):&:Allfiles (count).xlsm", fileformat=52 'error
答案 0 :(得分:0)
当您收到“错误”时,有用的“错误消息”会提示您问题是什么。通过阅读此消息并对其进行操作,您可以逐步调试代码。
Activeworkbooks.SaveAs "c:\Allfiles(1):&:Allfiles (count).xlsm", FileFormat = 52
' Variable not defined ^
在VBA中指定参数的方法是:=
,而不是=
。让我们更正并再次运行......
Activeworkbooks.SaveAs "c:\Allfiles(1):&:Allfiles (count).xlsm", FileFormat:=52
' ^ Variable not defined
它被称为ActiveWorkbook
,而不是Activeworkbooks
。让我们更正并再次运行它......
ActiveWorkbook.SaveAs "c:\Allfiles(1):&:Allfiles (count).xlsm", FileFormat:=52
' ^ The file could not be accessed.
我无法声称知道你正在运行什么操作系统,但鉴于C:\
,我会假设某些Windows版本。您可能知道:
在Windows中的路径中是非法字符?
无论如何,我不确定你在哪里试图保存这个文件。我最好的猜测:
ActiveWorkbook.SaveAs "C:\" & Allfiles(1) & Allfiles(UBound(Allfiles)) & ".xlsm", _
FileFormat:=52
至于你的第一行代码Range (Allfiles(index)).Select
,我不知道你在那里尝试做什么。您可能需要阅读Excel-VBA的帮助文件以了解Range
的作用。