Excel VBA复制工作簿保存至指定路径失败问题求助
问题分析与代码修正
你的代码问题出在没有将指定的目标文件夹路径与文件名拼接,导致SaveAs仅使用了单元格A5的文本作为文件名,系统默认保存到当前活动工作簿(即"Animals"工作簿)的所在路径。
修正后的完整代码
'1. 复制指定工作表到新工作簿(无需Select/Activate,直接操作更高效) Sheets(Array("Instructions", "Dogs")).Copy '2. 拼接路径并保存新工作簿 Dim strFileName As String Dim strTargetFolder As String strTargetFolder = "C:\Users\just_bri\Documents\Reports\" ' 获取Dogs工作表A5的文本作为文件名 strFileName = Worksheets("Dogs").Range("A5").Value ' 拼接完整保存路径:目标文件夹 + 文件名(需确保文件名不含非法字符) ActiveWorkbook.SaveAs FileName:=strTargetFolder & strFileName
关键修改点
- 将原代码中的路径变量拆分为
strTargetFolder(目标路径)和strFileName(文件名),明确职责 - 使用
&运算符将目标文件夹路径与文件名拼接,形成完整的保存路径 - 移除了不必要的
Select和Activate语句,简化代码并提升执行效率
内容的提问来源于stack exchange,提问作者just_bri
相关产品推荐
相关产品推荐

