运行时错误'9'VBA

时间:2018-06-05 14:10:36

标签: excel-vba vba excel

    Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
    Dim FundN As Range
    Set FundN = ActiveCell

    'Add worksheet and name it using the value/text of the hyperlink cell on Sheet1
    Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = FundN.Value

    'Input data on created worksheet
    With Worksheets(FundN.Value)
        .Range("A5").Value = "Data"
    End With
    End Sub

计划:点击超链接,添加新工作表并使用超链接单元格的值命名。然后在新创建的工作表上输入数据。

问题:With Worksheets(FundN.Value)行上的运行时错误9。确认在错误发生之前正确创建并命名了新工作表。

请求:不了解如何创建工作表没有问题,但是找到新工作表时遇到问题。请帮我把这个错误从我的生活中解脱出来。谢谢!

1 个答案:

答案 0 :(得分:0)

如果FindN.Value是数字,那么确实参考可能会失败甚至是错误的表格。这是因为WorkSheets在传递数字或传递字符串时表现不同。如果传递数值,则将其解释为索引,该索引可能超出范围(错误9)。

当您打算传递名称而不是索引时,请确保传递字符串。您可以使用CStr

强制执行此操作
With Worksheets(CStr(FundN.Value))