簡體   English   中英

在范圍內查找字符串並在Excel VBA中返回其行號

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM