ДА, конечно, это возможно. Поместите этот код в Module1 редактора VBA:
Function Rectangle(A As Integer, B As Integer)
Evaluate "Adjacent(" & Application.Caller.Offset(0, 1).Address(False, False) & "," & A & "," & B & ")"
Rectangle = "Area:"
End Function
Private Sub Adjacent(CellToChange As Range, A As Integer, B As Integer)
CellToChange = A * B
End Sub
Результат этого примера UDF возвращается в другую соседнюю ячейку. Пользовательская функция Rectangle
вычисляет площадь прямоугольника на основе двух параметров A
и B
и возвращает результат в ячейку справа
Вы можете легко изменить этот пример функции. Работа выполняется секретной недокументированной функцией VBA Evaluate
. Повеселись!
Это ссылка на ограничение UDF, установленное Microsoft. https://support.microsoft.com/en-us/help/170787/description-of-limitations-of-custom-functions-in-excel