Excel宏仅保存具有不同文件名的文件的值

时间:2014-10-22 19:54:03

标签: excel vba excel-vba

我希望将当前的Excel文件保存为另一个文件,文件名为单元格 B10 中的值,并且仅从当前文件中取值(而不是公式)。

我获得了仅从此链接获取值的代码:Saving values from a workbook
任何帮助赞赏。感谢。

编辑: 我想制作一种模板,它可以帮助我的同事以更好的方式记录,而不会浪费公式中的磁盘空间,每个* .xls文件占用大约1.7 MB。如果我只保存值,则需要大约600 kb。我希望它能够灵活地适应不同的用户,那些不必使用长指令的用户。 * vba不是我的专业领域,我还没有为这项工作编写任何代码,所以基本上任何可能的方式都是受欢迎的。

2 个答案:

答案 0 :(得分:1)

由于您提供了纯文字问题,我应该为您提供纯文字答案
要做你想做的事你必须:

  1. 使用Sheets Object Copy method复制工作表。它有可选参数,如果省略它,它会自动创建一个包含复制工作表的新工作簿。
  2. 复制后,您可以使用 ActiveObject (例如ActiveWorkbook,ActiveSheet等)来引用您新创建的工作簿和工作表。
  3. 正确引用对象后,现在可以使用Cells property选择所有范围并进行复制。然后使用Range PasteSpecial Method将公式转换为值。
  4. 最后,您需要使用Workbook Object SaveAs Method保存工作簿。
  5. 希望这能以某种方式引导您找到解决方案。 HTH。

答案 1 :(得分:1)

此代码将满足需要

Sub Macro1()
Dim x As String
Dim y As String
x = "C:\" 'path to file
y = Range("C1").Value 'Reference of the cell which contains the value
Z = x + y
Z = Z + ".xlsm" 'Format of macro enabled worksheet

ActiveWorkbook.SaveAs Filename:=Z, _
    FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub