所以我有一个文件运行一堆有点复杂的宏,我希望第一步是以不同的名称保存文件,以便可以重用带有宏的文件。我遇到的问题是它将文件的名称保存到单元格中的值,但它在文件名前后添加了一个空格。我可以解决这个问题吗?
Sub SaveWorkbook()
'Pick range where file name is stored
Saveasname = Range("L2").Value
'Save the workbook
ActiveWorkbook.SaveAs "I:\MyFilePath\ " & Saveasname & " .xlsm"
End Sub
我还应该提一下,我已经尝试删除saveasname周围的额外空格,但它们要么自动返回,要么宏不会运行。 :/ 任何建议都会有所帮助。
更新:感谢您的回答!我发现了我搞砸了。我在文件的名称中添加了另一个字段,并且它中包含非法字符(冒号),所以我修复了它,现在一切正常。谢谢你的帮助!
答案 0 :(得分:2)
从FileName
字符串中删除此空格应该有效;)
Sub SaveWorkbook()
'Pick range where file name is stored
Saveasname = Range("L2").Value
'Save the workbook
ActiveWorkbook.SaveAs "I:\MyFilePath\" & Saveasname & ".xlsm"
End Sub
答案 1 :(得分:2)
“删除saveasname周围的空格”不应该意味着改变它:
ActiveWorkbook.SaveAs "I:\MyFilePath\ " & Saveasname & " .xlsm"
到此:
ActiveWorkbook.SaveAs "I:\MyFilePath\ " &Saveasname& " .xlsm"
这应该意味着改变它:
ActiveWorkbook.SaveAs "I:\MyFilePath\" & Saveasname & ".xlsm"
然后会按预期工作。