Excel VBA在列中查找一系列相同的值

kee*_*eeg 3 excel vba

我需要编写一个宏来查找基于值的单元格范围.一列中的行具有相同的值,我需要找出一行中具有相同值的第一列和最后一列.在此输入图像描述

所以宏需要发现"Jill Cross"范围是a4到a9

到目前为止我没有太多,有办法找到第一次出现的值

   Function GetFirstCell(CellRef As Range)
   Dim l As Long
   l = Application.WorksheetFunction.Match(CellRef.Value, Range("A1:A10000"), 0)
   GetFirstCell = l
   End Function
Run Code Online (Sandbox Code Playgroud)

现在我需要以某种方式遍历下一行以返回事件的最后一行

nut*_*sch 5

如果您的第一个单元格在排序列表中,那么countif函数将轻松地为您提供最后一个单元格.

   Function GetFirstCell(CellRef As Range) as long
       Dim l As Long
       l = Application.WorksheetFunction.Match(CellRef.Value, Range("A1:A10000"), 0)
       GetFirstCell = l
   End Function

   function GetLastCell(cellRef as range, lFirstCell as long)
       Dim l As Long
       l = Application.WorksheetFunction.countif(Range("A1:A10000"), CellRef.Value)
       GetLastCell = lFirstCell+l-1
   End Function
Run Code Online (Sandbox Code Playgroud)