Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.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/0/vba/16.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
Excel 使用单元格值作为标题将工作表另存为新工作簿_Excel_Vba - Fatal编程技术网

Excel 使用单元格值作为标题将工作表另存为新工作簿

Excel 使用单元格值作为标题将工作表另存为新工作簿,excel,vba,Excel,Vba,我有以下代码: Sub SaveFinalMTO() Application.ScreenUpdating = False Sheets("Final MTO").Select Sheets("Final MTO").Copy 'grab the file name from b6:m6, put it in variable ThisFile ThisFile = Sheets("Final MTO").Range("b6:m6").Value Sheets("Final MTO").S

我有以下代码:

Sub SaveFinalMTO()

Application.ScreenUpdating = False
Sheets("Final MTO").Select
Sheets("Final MTO").Copy

'grab the file name from b6:m6, put it in variable ThisFile
ThisFile = Sheets("Final MTO").Range("b6:m6").Value

Sheets("Final MTO").SaveAs Filename:="C:\Users\owner\Desktop\" & ThisFile & ".xlsm"

Application.ScreenUpdating = True
ActiveWorkbook.Close

End Sub
在某种程度上,一切都很好。新工作簿是使用正确的工作表创建的。新文件已打开,但文件名为“Book1”,而不是范围
B6:M6
中的值,该范围是使用串联函数的合并单元格。我试着使用一个只有一个值的未合并的,我仍然在拉一个

运行时错误“13”


如果您能帮助解决此错误,我们将不胜感激。谢谢。

如果要另存为启用宏的文件类型,则必须指定该文件类型。此外,您还可以使用
Environ$
使文件夹名成为动态的

Sheets("Final MTO").SaveAs Filename:="C:\Users\" & Environ$("Username") & "\Desktop\" & ThisFile & ".xlsm", xlOpenXMLWorkbookMacroEnabled

哪一行给出了错误?SaveAs行?只需使用
.Range(“b6”)
。多个单元格返回一个数组。类型不匹配可能是由多种原因造成的。使用“Option Explicit”给出错误的行是Sheets(“Final MTO”)。另存为文件名:=“C:\Users\owner\Desktop\”&此文件和“.xlsm”我找到了。没有“所有者”文件。Duh.你应该声明你的变量,并在每个模块的顶部使用
Option Explicit
,尤其是在学习过程中,以帮助防止出现这样的问题。。。另外,请注意,
owner
是一个文件夹,而不是一个文件。为了自己和他人的利益,尽早正确使用术语是很重要的。是指向教程的链接。