[英]Error #VALUE with long string in UDF in VBA for output in Excel
[英]Excel UDF IF Statement <> String Raises #Value Error
您好,我正在研究一个更大的Excel UDF,它正在比较两个不同的字符串以查看它们是否不相等。 当我检查范围内的单元格是否不等于所需的字符串(在此示例中为“红色”)时,请在计数器右侧添加一行值。 当我这样做时,会引发#value错误。
有趣的是,如果我做同样的事情,但只添加等于“ Red”的值,则不会引发错误。
Function SUM_IF_NOT_RED(Creiteria_Rnage As Range, Sum_range As Integer) as Double
Dim counter As Double
Dim Cell As Range
For Each Cell In Creiteria_Rnage .Cells
If (Cell.Value <> "Red") Then
counter = counter + Cell.Offset(0, Sum_range).Value
End If
Next Cell
SUM_IF_NOT_RED = counter
End Function
我知道我可以做sum(range)-sumif(“ Red”,range)来获得答案,但是我很好奇为什么将此UDF设置为<>时会引发错误,但将其设置为=时却可以正常工作。
函数输入参数是变量。 我还包含了一个参数col,它应该是整数,并且它是criteria列和我们要从中选择数据的列之间的差。
Function SUM_IF_NOT_RED(Creiteria_Range, col) As Double
Dim counter As Double
Dim Cell As Range
For Each Cell In Creiteria_Range.Cells
If (Cell.Value <> "Red") Then
counter = counter + Cell.Offset(0, col)
End If
Next Cell
SUM_IF_NOT_RED = counter
End Function
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.