保存电子表格时,基于单元格数据自动命名文件?

问题描述:

我有一个.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函数,但然后用户将能够更改建议的文件名,因此不太安全)选择一个文件夹。

+0

我知道如何将文件保存在VBA中,我想要的是为最终用户单击保存或另存为时自动调用该文件,而不仅仅保存副本并仍然打开相同的文件。 – 2011-04-19 23:35:55

+0

编辑答案以解决您的问题。 – 2011-04-20 16:30:40