另存为excel宏单张表

Posted

技术标签:

【中文标题】另存为excel宏单张表【英文标题】:Saving as excel macro-single sheet 【发布时间】:2018-05-11 12:38:01 【问题描述】:

我有一个工作表,我将其导出为 pdf,并希望将其中的一部分保存为 excel。当我使用代码保存excel表格时,它只是生成表格,而不保存它

感谢您的帮助

Worksheets("Sheet1").Copy
 With Worksheets("Sheet1")
 .SaveAs "C:\Users\" & .Sheet(1).Name
 .Sheets(1).Name
 .Close0

【问题讨论】:

您要复制到新工作簿吗?还是要将sheet1 保存为新工作簿? 我想将工作表 1 保存为新工作簿 ***.com/q/50290810/4961700的可能重复 How to save and send as excel macro的可能重复 【参考方案1】:

这应该可以解决

Sub CopySht_as_NewWrkBook()

Dim strFileName As String

'Copy sheet as a new workbook
Sheets("Sheet1").Copy

'this creates the "Save as". Change sheets as to your sheet. The new 
'workbook is now the active one
strFileName = Application.GetSaveAsFilename("C:\Users\" & Sheets("Sheet1").Name & ".xls")
If strFileName = "False" Then Exit Sub 
ActiveWorkbook.SaveAs Filename:=strFileName

'Change "False" to "True" as you like if you wanna have prompt at the end
ActiveWorkbook.Close SaveChanges:=False

End Sub

希望这能将你推向正确的方向

编辑 在没有任何提示的情况下保存文件删除Application.GetSaveAs...,如下所示:

Sub CopySht_as_NewWrkBook()

Dim strFileName As String

'Copy sheet as a new workbook
Sheets("Sheet1").Copy

'this creates the "Save as". Change sheets as to your sheet. The new 
'workbook is now the active one
strFileName = "C:\Users\" & Sheets("Sheet1").Name & ".xls"
If strFileName = "False" Then Exit Sub 
ActiveWorkbook.SaveAs Filename:=strFileName

'Change "False" to "True" as you like if you wanna have prompt at the end
ActiveWorkbook.Close SaveChanges:=False

End Sub

【讨论】:

嗯,这有帮助,但它会打开一个关于保存位置的提示,我希望它去一个设定的目的地 添加了一个额外的例子,希望能给你答案 谢谢,但它只是保存在桌面上,而不是我的目标文件夹 这就是你放在 Q 中的内容。只需在 "C:Users\your_folder_and\so_on\" & Sheets("Sheet1").Name & ".xls" 之后添加你的文件夹

以上是关于另存为excel宏单张表的主要内容,如果未能解决你的问题,请参考以下文章

在 Excel VBA 中使用表单另存为位置保存工作表

Excel表格的图标上面出现了一个感叹号怎么去除?

excel文件下有感叹号,打不开怎么办?

Excel 宏请求:另存为副本并中断数据连接

Excel宏将jpg另存为附件

VBA学习问题Excel2016无法保存宏文件的解决办法