[英]Find string in range and return its row number in Excel VBA
我有一個帶有名稱的ListBox( lbxNames
)的UserForm。 在電子表格上,我有一系列名稱( rngNames
)。
我想在列表rngNames
的ListBox中rngNames
名稱的行號,並將其分配給varRowNum
。 我可以將ListBox選擇確定,但是不知道從那里去哪里。
解決方案:這對我有用。
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
中查找相對行號, rngNames
改用以下命令:
varRowNum = TargetCell.Row - Range("rngNames").Cells(1, 1).Row + 1
結果:
工作表中的絕對行號:
rngNames
相對行號:
說明: .Find
方法將返回第一次出現搜索詞的單元格對象。 .Row
屬性將為您提供其工作表中找到的單元格的行號。 對於相對編號,您可以簡單地從絕對行編號中.Cells(1,1).Row
范圍內第一個單元格的行編號( .Cells(1,1).Row
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.