我在Excel中与vba有点新。 我试图做一个函数来检查特定文本的范围,并将包含该值的单元格添加到新范围。并返回新的范围。转到范围,并将具有特定值的单元格添加到新范围
我在brettdj上发现了几乎相同的代码,并对其进行了一些修改。
功能样子:
Function Test(Testvalue As String, TargetRange As Range) As Range
Dim rng2 As Range
Dim c As Range
For Each c In TargetRange
If c.Text = Testvalue Then
If Not rng2 Is Nothing Then
' Add the 2nd, 3rd, 4th etc cell to our new range, rng2
' this is the most common outcome so place it first in the IF test (faster coding)
Set rng2 = Union(rng2, c)
Else
' the first valid cell becomes rng2
Set rng2 = c
End If
End If
Next
Set Test = rng2
End Function
但是,当我把这个用在Excel中,例如在= ISBLANK(测试(苹果; A1:A5)),它返回一个#VALUE!
有人想法我怎么能得到这个工作。 许多thz提前
你想要的功能,以什么样的回报?我测试了这个函数,它返回了'FALSE',而不是'#VALUE!'。你想让该函数返回true/false,还是希望它返回找到值的单元格地址? – ARich
你好ARICH,我想返回单元格作为范围。所以我可以在其他函数中使用输出,其中有一个范围作为输入。在我的问题中有一个错误,我使用Countblank而不是IsBlank对其进行了测试。结果#Value! –