Excel 复制并将工作表保存在以同一工作表中某些特定单元格的内容命名的新工作簿中

Excel 复制并将工作表保存在以同一工作表中某些特定单元格的内容命名的新工作簿中,excel,vba,copy,save,rename,Excel,Vba,Copy,Save,Rename,我在工作簿(.xlsm)中有一张工作表,我想在新工作簿(.xlsx)中“复制”。在此过程中,我还需要以同一工作表中的单元格B3和B5命名新工作簿 我到处都能找到代码,可以从工作表创建新工作簿,也可以重命名现有工作簿。我试图“混合”它,但我仍然坚持使用“Filename:=Name”参数。它返回一个错误。我给新工作簿命名的唯一方法是使用“”。如果有人知道原因并有任何修复指导,我们将不胜感激 Sub Copy_Save_Sheet_As_Workbook() Dim wb As Workbook

我在工作簿(.xlsm)中有一张工作表,我想在新工作簿(.xlsx)中“复制”。在此过程中,我还需要以同一工作表中的单元格B3和B5命名新工作簿

我到处都能找到代码,可以从工作表创建新工作簿,也可以重命名现有工作簿。我试图“混合”它,但我仍然坚持使用“Filename:=Name”参数。它返回一个错误。我给新工作簿命名的唯一方法是使用“”。如果有人知道原因并有任何修复指导,我们将不胜感激

Sub Copy_Save_Sheet_As_Workbook()

Dim wb As Workbook
Dim Path As String
Dim Name As String

Set wb = Workbooks.Add
Path = "C:\Users\..." 'That line is not used now. Will try later to work on it.
Name = Worksheets("Sheet1").Range("B5")

ThisWorkbook.Activate
Worksheets("Sheet1").Copy Before:=wb.Sheets(1)
wb.Activate
wb.SaveAs FileName:=Name & ".xlsx", FileFormat:=xlNormal

End Sub
==编辑==

下面是修改后的代码从CATSandCats修复

Sub Copy_Save_Sheet_As_Workbook()

Dim wb As Workbook

Set wb = Workbooks.Add

ThisWorkbook.Activate
Worksheets("Sheet1").Copy Before:=wb.Sheets(1)
wb.Activate
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & Range("B3") & Range("B5") & ".xlsx"

End Sub
试试这个:

ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & Range("B3") & Range("B5") & ".xlsx"
取而代之的是:

wb.SaveAs FileName:=Name & ".xlsx", FileFormat:=xlNormal
显然,您可以向文件中添加更多内容,例如日期:

& Format(Now, "mm.dd.yyyy")
或文本:

& "1Q2019 - March Budget"

如果您不想将其保存在与包含宏的文件相同的位置,只需添加“C:\Users…”来代替此工作簿.path。

非常有效,谢谢!我会很快贴出你的答案。