我还是vba的新手,我对如何将工作表复制到新工作簿以及根据单元格值重命名新工作簿有疑问 . 我有一个工作表名称为“摘要”,并希望复制工作表并导出到新工作簿,但我也希望根据单元格值命名新工作簿(在这种情况下,我希望它是名称根据到细胞B3) . 以下是我尝试过的代码:
Sub Sample2()
Dim wksht As Summary
Set wksht = ActiveSheet
Dim path As String
path = "C:\Desktop"
wksht.Copy
ActiveWorkbook.SaveAs filename:=path & wksht.Range(B3).Value & ".xlsx"
End Sub
我一直收到错误“用户定义的类型未定义” . 你能帮帮我吗?
谢谢 .
2 回答
是您错误的可能原因!类型"Summary"不是已定义的类型 . 你应该把它改成
Dim wksht as WorkSheet
有些事情必须改变:
1.正如@PIT提到的那样,wksht必须定义为WorkSheet而不是"Summary"
2.假设您将从"Summary"表运行宏,您的代码将起作用,否则您必须将wksht设置为"Summary"工作表 .
3.你必须改变范围(B3) . 值到范围("B3").Value
总的来说,我建议在你的案例中探索谷歌,大量的样本