Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba Excel宏,仅保存具有不同文件名的文件的值_Vba_Excel - Fatal编程技术网

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

Vba Excel宏,仅保存具有不同文件名的文件的值,vba,excel,Vba,Excel,我希望将当前excel文件另存为一个文件,将文件名作为单元格B10中的值,并仅从当前文件中获取值(而不是公式) 我从这个链接获得了只获取值的代码: 谢谢你的帮助。谢谢 编辑: 我想制作一种模板,它可以帮助我的同事以更好的方式记录文档,而不会在公式中浪费磁盘空间,每个*.xls文件大约占用1.7 mb的空间。如果我只保存值,大约需要600 kb。我希望它能够灵活地适应不同的用户,这些用户不需要使用很长的指令就可以做到这一点。 *vba不是我的专业领域,我还没有为这项工作编写任何代码,因此基本上欢迎

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

我从这个链接获得了只获取值的代码:
谢谢你的帮助。谢谢

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

既然您提供了一个纯文本的问题,我应该给您一个纯文本的答案。
要想做你想做的事,你必须:

  • 使用复制您的工作表。它有可选参数,如果您忽略它,它会自动创建一个包含复制的工作表的新工作簿
  • 复制后,您可以使用ActiveObject(例如Active工作簿、ActiveSheet等)引用新创建的工作簿和工作表
  • 正确引用对象后,现在可以使用选择所有范围并进行复制。然后使用将公式转换为值
  • 最后,您需要使用保存工作簿

  • 希望这能让你找到解决办法。HTH.

    此代码将满足需要

    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
    

    你标记了它,所以我想你需要一些代码的帮助?如果是的话。我希望这对你来说不是太多,不会吸引更多的答案。是的,我知道vba是最好(唯一?)的方法,但vba根本不是我的专业领域。我想制作一种模板,它可以帮助我的同事以更好的方式记录文档,而不会在公式中浪费磁盘空间,每个*.xls文件大约占用1.7 mb的空间。它有大的公式和从其他文件中借用的数据。我没有用vba写过一行代码。我希望它能够灵活地适应不同的用户,这些用户不需要使用很长的指令就可以做到这一点。我知道我的问题要求你为我写完整的代码,但我真的很感谢你的回答。感谢你的评论和回答,我接受我的错误。如果有帮助的话,请阅读我的编辑。@fineashell鉴于VBA不是你的专长(我们以前都是),最好的学习方法还是尝试一些东西。有人可以给你一个工作代码,但如果你不明白它是如何工作的,那就毫无意义了。现在,如果你尝试了一些东西,但似乎没有成功,那么这里肯定会有人给你指出正确的方向。最好的部分是我们在这个过程中学习。我知道,但我现在有很多事情要做,学习很多其他事情,我来自一个需要最少编程的机械背景。我确实知道C、SQL和R,但是vba一直困扰着我,因为它直接连接到Excel。我一定会很快找时间学的。谢谢你能容忍这个问题,我尽量不重复了!