无法在MS Excel中将单元格公式包含到VBA代码中

问题描述 投票:0回答:2

我正在尝试一个简单的VBA程序,看起来像这样:

Function NotWorking() As Single

 If Range("C3") = 0 Then
 NotWorking = "=0.6*7"
 Else
 NotWorking = 1.2
 End If

End Function

如果单元格C3的值为0,则函数NotWorking必须在当前单元格中返回* = 0.6 * 7 *的结果,即4,2。如果C3中的值不为0,则当前单元格必须返回1,2。

就我而言,事情不是我预期的方式。在当前单元格中,我键入= NotWorking()。如果C3不是0,我获得1,2,但是当我适合0到C3时,当前单元格返回#VALUE。

为什么这段代码不起作用?

最好的问候和提前感谢!

formula
2个回答
1
投票

我注意到"=0.6*7"是一个字符串,而不是一个数字,但1.2是一个数字。

您已指定该函数返回单个函数,但"=0.6*7"不是单个函数。


0
投票

不要试图从例程中返回它,而是从例程中伸出到表单。

Sub NotWorking()

   Dim src As Range
   Dim dst As Range

   Set src = Range("C3")
   Set dst = Range("E3")

   If src.Value = 0 Then
       dst.Formula = "=0.6 * 7"
   Else
       dst.Value = 1.2
   End If

End Sub
© www.soinside.com 2019 - 2024. All rights reserved.