用户定义的函数在vba中工作正常,而从excel工作表调用时显示“值”错误

时间:2019-06-19 11:43:42

标签: excel vba

我制作了一个从excel调用的函数,该函数具有两个字符串类型的参数,并在对Excel工作表的特定范围内存在的数字进行计数后返回整数值。

从vba代码调用时此功能正常运行,但从excel工作表调用时显示“ Value”错误

我确实将参数类型更改为range。但是它仍然显示“值错误”

在两种情况下,当我只是通过分配而不使用excel函数返回整数值时,它都可以工作。但是当在用户定义的功能代码中使用Excel函数时,它再次显示“值”错误。

Public Function countEvent(ByVal name As String, ByVal travelType As String) As Integer

    Dim finalValue, tempValue, i As Integer
    Dim rng As Range

    Dim current As Worksheet
    countEvent = 10
    Set current = ActiveWorkbook.Worksheets("Sheet2")
    Set rng = current.Range("T4:T50000")


    'These two values are pasted in two cells in excel sheet, as these values are further being used by some other formula
    current.Range("T2").Value = name
    current.Range("U2").Value = travelType

    countEvent = Application.WorksheetFunction.Count(rng)

End Function

已定义为在excel工作表的特定范围内返回数字,但在excel工作表中显示“值错误”

1 个答案:

答案 0 :(得分:1)

工作表上的UDF cannot modify the formatting of a cell or workbook or move values。 如果删除下面的行,它应该可以工作。

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="?backColor">

修改
对于您想做的事情,我认为您应该探索工作表事件,例如current.Range("T2").Value = name current.Range("U2").Value = travelType