VBA中的单元格修改功能

时间:2019-04-09 14:45:51

标签: excel vba

我正在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”以外的任何结果。

谢谢!

1 个答案:

答案 0 :(得分:1)

当我们需要从中获取值时,使用Function,如果没有要获取的值,则最好使用Subroutine

我将您的Function更改为返回布尔值,如果满足条件,则将为False。我正在更新Range("P3")的{​​{1}}上的Sub

所以看起来像这样...

Function