如何在VBA中创建用户定义的函数,以将调用该用户定义的函数的单元格替换为另一个公式?

时间:2019-11-20 08:57:46

标签: excel vba

例如,我有一个用户定义的函数,但是如果执行=Hours_alotted(),它将导致单元格中填充字符串"=min(8, [@[Hours Worked]])",而不是像下面的图像那样在excel中替换公式:

enter image description here

Function Hours_allotted()
    Hours_allotted = "=min(8, [@[Hours Worked]])"
End Function

2 个答案:

答案 0 :(得分:0)

但是为什么要使用能够创建公式的公式,而不是公式的结果。当然,在该VBA函数中进行计算...

答案 1 :(得分:-1)

您应该在单元格分配的末尾添加.FormulaLocal,以将其作为excel中的公式阅读

WorkSheet.Cells[1, 1].FormulaLocal = Hours_alloted()