Ошибка времени выполнения '9' VBA - PullRequest
0 голосов
/ 05 июня 2018
    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

План: щелкните гиперссылку, которая добавляет новый лист и присваивает ему имя, используя значение ячейки гиперссылки.Затем введите данные на вновь созданном листе.

Проблема: ошибка времени выполнения 9 в строке With Worksheets(FundN.Value).Подтвердил, что новый лист создан и правильно назван перед ошибкой.

Призыв: не понимает, как у него нет проблем при создании листа, но затем возникла проблема с поиском нового листа.Пожалуйста, помогите мне убрать эту ошибку из моей жизни.Спасибо!

1 Ответ

0 голосов
/ 05 июня 2018

Если FindN.Value является числовым, то действительно, ссылка может не получиться или даже оказаться не на том листе.Это потому, что WorkSheets ведет себя по-разному, когда вы передаете ему число или когда вы передаете ему строку.Если передано числовое значение, оно интерпретируется как индекс, который может выходить за пределы диапазона (Ошибка 9).

Поскольку вы намереваетесь передать имя, а не индекс, убедитесь, что вы передали строку,Это вы можете заставить с CStr:

With Worksheets(CStr(FundN.Value))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...