首页 文章

将工作表保存到新工作簿并根据单元格值重命名

提问于
浏览
0

我还是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 回答

  • 0
    Dim wksht As Summary
    

    是您错误的可能原因!类型"Summary"不是已定义的类型 . 你应该把它改成 Dim wksht as WorkSheet

  • 0

    有些事情必须改变:
    1.正如@PIT提到的那样,wksht必须定义为WorkSheet而不是"Summary"
    2.假设您将从"Summary"表运行宏,您的代码将起作用,否则您必须将wksht设置为"Summary"工作表 .
    3.你必须改变范围(B3) . 值到范围("B3").Value

    总的来说,我建议在你的案例中探索谷歌,大量的样本

    Sub Sample2()
    
        Dim wksht As WorkSheet
        Set wksht = ActiveSheet
    
        Dim path As String
        path = "C:\Desktop\"
    
            wksht.Copy
            ActiveWorkbook.SaveAs filename:=path & wksht.Range("B3").Value & ".xlsx"
    End Sub
    

相关问题