我有一个带有ListBox(lbxNames
)名称的UserForm。在电子表格中,我有一系列名称(rngNames
)。
我想在列表rngNames
的ListBox中找到所选名称的行号,并将其分配给varRowNum
。我可以选择ListBox,但不知道从哪里开始。
答案 0 :(得分:0)
解决方案:这对我有用。
Set TargetCell = Range("rngNames").Find(What:= ENTER_LISTBOXVALUE_HERE, _
LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False)
varRowNum = TargetCell.Row
如果您要在rngNames
中查找 relative 行号,请改用:
varRowNum = TargetCell.Row - Range("rngNames").Cells(1, 1).Row + 1
<强>结果:强>
工作表中的绝对行号:
rngNames
中的相对行号:
说明: .Find
方法将返回第一次出现搜索词的单元格对象。 .Row
属性将为您提供其工作表中找到的单元格的行号。对于相对数,您可以简单地从绝对行号中减去范围(.Cells(1,1).Row
)的第一个单元格的行号。