首页 > 解决方案 > 添加公式作为自定义函数

问题描述

我实际上是在试图在幕后隐藏一个非常长的公式,这样我们就可以使用 =function(cell) 中的一些东西,而不是我写的七行半的公式。

我找不到将公式添加到新函数的正确格式。

我觉得我需要有一种方法来引用单元格,但我不知道如何告诉 vba A2 可能什么,如果这有意义的话

Public Function MiddleName()

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

(公式持续一段时间)

在此处输入图像描述

我希望我可以使用该公式来避免更改当前公式中的单元格引用,因为有超过 30 个。我收到错误消息说“预期 =”或无效字符

标签: excelvba

解决方案


你可以这样做来创建一个函数:

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

推荐阅读