VBA,从范围中保存Excel文档但添加了额外的空格

时间:2016-10-31 18:30:53

标签: excel vba excel-vba macros

所以我有一个文件运行一堆有点复杂的宏,我希望第一步是以不同的名称保存文件,以便可以重用带有宏的文件。我遇到的问题是它将文件的名称保存到单元格中的值,但它在文件名前后添加了一个空格。我可以解决这个问题吗?

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周围的额外空格,但它们要么自动返回,要么宏不会运行。 :/ 任何建议都会有所帮助。

更新:感谢您的回答!我发现了我搞砸了。我在文件的名称中添加了另一个字段,并且它中包含非法字符(冒号),所以我修复了它,现在一切正常。谢谢你的帮助!

2 个答案:

答案 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"

然后会按预期工作。