评估单元格值是否在命名范围内

时间:2018-07-03 15:20:40

标签: excel excel-vba vba

我有一个命名范围(“类别”),其中包含例如水果,蔬菜,苏打水等。然后,对于类别中的每个条目,我还有其他3个命名范围。因此,例如,我将使用苹果,橙子,葡萄和“水果”范围内的名称。现在,我想评估一长列条目,以确定它们是否属于每个类别。因此,例如,我想评估可口可乐是否属于“水果”命名范围。出于同样的原因,在Excel中使用简单公式时,我无法执行此操作。我试过使用下面的功能,但这也不起作用。如果有人可以提供帮助,我将不胜感激。

    Function RangeInCell(rngCellToCheck As Range, rngRangeToCheckWith As Range) As Boolean

        On Error Resume Next
        RangeInCell = Not Application.Intersect(rngCellToCheck, rngRangeToCheckWith) Is Nothing
        Err.Clear: On Error GoTo -1: On Error GoTo 0

    End Function

1 个答案:

答案 0 :(得分:0)

我认为,只要您的范围正确合格,它就可以在多个工作簿之间工作。未经测试。

Function RangeInCell(rngCellToCheck As Range, rngRangeToCheckWith As Range) As Boolean

    Dim ret as Variant
    ret = Application.Match(rngCellToCheck, rngRangeToCheckWith, 0)

    RangeInCell = (Not IsError(ret))

End Function

作为工作表功能,我认为这也应该做(在单个工作表/工作簿中测试)

=IF(ISERROR(MATCH("coca-cola",Fruits,0)),FALSE,TRUE)

enter image description here