保存电子表格时,基于单元格数据自动命名文件?
问题描述:
我有一个.xltm模板电子表格,我想知道是否可以通过宏来填充基于单元数据的“另存为”文件名,这可能吗?保存电子表格时,基于单元格数据自动命名文件?
有超过50人将拥有此电子表格,它更多的是一种形式,我们正试图找出一种方法来保持文件名的统一。我知道这是ThisWorkbook.BeforeSave,但我并没有真正的运气。我只需要它使一个文件命名为$A$1 R $B$1 T $B$3.xlsx
任何想法如何做到这一点?
答
当然。
Sub SaveMyWorkbook()
Dim strPath As String
Dim strFolderPath as String
strFolderPath = "C:\"
strPath = strFolderPath & _
Sheet1.Range("A1").Value & "R" & _
Sheet1.Range("B1").Value & "T" & _
Sheet1.Range("B3").Value & ".xlsx"
ActiveWorkbook.SaveAs Filename:=strPath
End Sub
编辑:当您在下面的评论澄清你的问题,我现在可以肯定地说,答案是:不,你问是不可能的。
什么是可能是在您的工作表上放一个大的胖命令按钮,上面写着“按我保存”,然后让那个按钮调用上面的Sub。您可以设置一个固定的文件夹,如上例所示,或让用户使用FileDialog
对象(或GetSaveAsFilename
函数,但然后用户将能够更改建议的文件名,因此不太安全)选择一个文件夹。
我知道如何将文件保存在VBA中,我想要的是为最终用户单击保存或另存为时自动调用该文件,而不仅仅保存副本并仍然打开相同的文件。 – 2011-04-19 23:35:55
编辑答案以解决您的问题。 – 2011-04-20 16:30:40