Vba 查找具有特定单元格值的特定单元格范围

Vba 查找具有特定单元格值的特定单元格范围,vba,excel,Vba,Excel,我正在为excel文档编写一个脚本,该脚本将返回一个单元格区域,该区域在一列中具有特定的单元格值,这样我就可以根据该区域中绿色、琥珀色或红色的列数来计算该区域中的另一列。以下是excel文档的一个示例:- Type Reference Department Colour Large 20 Green Large 21 Green Large 2

我正在为excel文档编写一个脚本,该脚本将返回一个单元格区域,该区域在一列中具有特定的单元格值,这样我就可以根据该区域中绿色、琥珀色或红色的列数来计算该区域中的另一列。以下是excel文档的一个示例:-

Type    Reference   Department  Colour
Large   20                      Green
Large   21                      Green
Large   2                       Amber
Large   23                      Amber
Large   5                       Green
Medium  6                       Red
Medium  23                      Green
Medium  8                       Green
Medium  10                      Red
Small   11                      Amber
Small   12                      Red
Small   16                      Green
Small   17                      Green
Small   33                      Green
Small   36                      Amber
Small   55                      Amber
这是我的脚本,但它只找到具有该值的第二个单元格编号。我需要找到“大”、“中”和“小”的范围

Set rngFindValue = ActiveSheet.Range("H22:H" & lastRow).Find(What:="Medium", After:=ActiveSheet.Range("H22"), LookIn:=xlFormulas)
            If Not rngFindValue Is Nothing Then
                MsgBox rngFindValue.Address
            End If

我已经解决了。这是我的新代码,我可以得到范围内的第一个单元格和最后一个单元格:-

Dim mediumStartRow As Integer
Dim mediumEndRow As Integer

        mediumStartRow = Range("H:H").Find(what:="Medium Project", after:=Range("H21")).Row
        mediumEndRow = Range("H:H").Find(what:="Medium Project", after:=Range("H21"), searchdirection:=xlPrevious).Row
        MsgBox "First and Last Row for Medium Projects: " & mediumStartRow & mediumEndRow

它似乎起作用了

你预期的结果是什么?