VBA - 用户定义的变量工作表名称

时间:2016-09-30 09:18:03

标签: excel-vba vba excel

想知道是否有人可以提供帮助,因为我已多次尝试在Excel中创建此功能。

摘要 - 最终用户将适用的后方放置在工作表上指定单元格内的特定单元格中,然后按宏按钮复制去年假期跟踪器并创建新工作表,随后重命名复制的工作表工作表。

问题 - 尝试声明相关的适用工作表变量工作表名称时,我遇到类型不匹配错误。

感谢有人可以提供帮助吗?

下面的代码在声明相关表格时遇到了绊脚石。

{{1}}

1 个答案:

答案 0 :(得分:1)

哇,这很罗嗦。

  

将适用的后部放置在指定的特定单元内   工作表上的单元格

这是什么意思?

您是否尝试添加工作表并使用单元格A1中的值命名它? 这将完成工作,提供A1包含可用作工作表名称的文本。

Sub test()

    Dim ws As Worksheet

    Set ws = ThisWorkbook.Worksheets.Add

    ws.Name = Sheets("procedures").Range("a1")

    ws.Activate

End Sub

修改
此代码将复制在范围A1中命名的工作表,为其指定新名称并设置对其的引用。

Sub test()

    Dim ws As Worksheet
    Dim wsn As String

    With ThisWorkbook
        wsn = .Worksheets("procedures").Range("a1")
        'Code to check the name is valid & the worksheet exists.
        '....

        'Unfortunately you can't set a reference while copying,
        'so copy it to before the first sheet and then reference the first sheet.
        .Worksheets(wsn).Copy Before:=.Worksheets(1)
        Set ws = .Worksheets(1)
    End With

    ws.Name = "Some Other Sheet Name"

    ws.Activate

End Sub