我正在VBA中迈出第一步,我正在尝试创建一个函数,如果满足IF语句的某些条件,该函数可以将单元格的值更改为“ FALSE”值。
这是我到目前为止所拥有的
Function active_users(cad_desde As Date, cad_fin As Date, last_log As Date, creacion As Date, per_desde As Date, per_fin As Date, download As Date, bloq As Integer)
Dim result As String
result = "False"
If bloq = 0 Or bloq = 128 Then
If cad_fin < per_desde And last_log < per_desde Then
Range("P3").Value = "False"
ElseIf cad_fin >= per_desde And cad_fin <= download And download <= per_fin And last_log < per_desde Then
Range("P3").Value = "False"
End If
End If
End Function
当我执行函数时,我得到一个“ #VALUE!”并且,如果我进行错误检查,它会告诉我公式中使用的一种值类型不正确,但应注意,只有在添加“ Range(“ P3”)行时才会发生这种情况。 “”。否则,将执行该功能,尽管显然不会在单元格中给出除“ 0”以外的任何结果。
谢谢!
答案 0 :(得分:1)
当我们需要从中获取值时,使用Function
,如果没有要获取的值,则最好使用Subroutine
。
我将您的Function
更改为返回布尔值,如果满足条件,则将为False
。我正在更新Range("P3")
的{{1}}上的Sub
。
所以看起来像这样...
Function