Добавление формулы в качестве пользовательской функции - PullRequest
0 голосов
/ 08 июля 2019

Я фактически пытаюсь скрыть чудовищно длинную формулу за кулисами, чтобы мы могли просто использовать что-то по строкам = function (cell), а не формулу из семи с половиной строк, которую я написал.

Я не могу найти правильное форматирование, чтобы добавить формулу в новую функцию.

Мне кажется, мне нужен способ ссылки на ячейку, но я не знаю, как сказатьvba, что то, что было A2, может быть чем угодно, если это имеет смысл

Public Function MiddleName()

Application.WorksheetFunction(LEFT(TRIM(LEFT(MID(A2,FIND("","",A2)+2,FIND(""and"",A2,FIND("","",A2)+2)-LEN.....

(формула продолжается некоторое время)

enter image description here

Я надеюсь, что смогу использовать формулу, чтобы избежать необходимости изменять ссылки на ячейки в текущей формуле, поскольку их больше 30. Я получаю сообщения об ошибках, в которых говорится "ожидаемый =" или недопустимый символ

1 Ответ

2 голосов
/ 08 июля 2019

Вы можете сделать это так, чтобы создать функцию:

Public Function Middlename(A As Range)

Middlename = Left(A.Value2, 6)

End Function

Полагаю, для большинства ваших функций вам не нужно Application.Worksheetfunction

Left и Trim работает без Find не

Так что вам нужно использовать Find вот так

Public Function Middlename(A As Range)

Middlename = Application.WorksheetFunction.Find("t", A.Value2, 1)

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