Ошибка: «Значение, используемое в формуле, имеет неправильный тип данных» с UDF - PullRequest
1 голос
/ 24 октября 2019

Я создаю UDF, и я получаю эту ошибку все утро, и я не совсем уверен, как ее исправить.

Я пытаюсь создать функцию для парней, использующих программу Excelчто, когда они добавляют один комментарий, он также добавит комментарий в другое место, так как комментарии всегда идут парами, с одинаковыми точными комментариями для обоих. В настоящее время у меня есть:

Public Function AddComments(vesselCell As Variant, shopCell As Variant, comment As String) As Variant

    Range(vesselCell).AddComment (comment)

    Worksheets("Shop").Range(shopCell).Value = comment

End Function

Я выделил его на 3-ю строку кода, которая вызывает проблему.

установка в настоящее время - это ячейка сосуда, будет добавлен комментарий клист, а затем на листе магазина есть раздел для комментариев в виде столбца.

1 Ответ

0 голосов
/ 24 октября 2019

Предполагая, что vesselCell и shopCell являются Range объектами, Range(vesselCell) и Worksheets("Shop").Range(shopCell) являются частью проблемы.

Сделайте их Range, а не Variant.

vesselCell.AddComment comment
shopCell.Value = comment

Теперь этот код недопустим в UDF. Сделайте вашу процедуру процедурой Sub (удалите тип возврата As Variant) и вызовите ее из другого кода VBA, или присоедините ее к свойству OnAction фигуры или кнопки.

Принятие пользовательских функций выполняетсявходные данные, вычислите результат , а затем верните этот результат в вызывающую ячейку: ваш код, который ничего не возвращает, является сильным индикатором того, что Function здесь не подходит.

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