需要一个 vba 宏来搜索单元格字段以查找匹配项和 return 它在其中找到匹配项的行号
Need a vba macro to search through a field of cells to look for a match and return the row number that it finds the match in
我很抱歉,因为我是一个完全的新手,但我正在尝试为 excel 编写一个宏,它将遍历一个 sheet 上的一列名称,然后搜索一个字段第二个单元格 sheet 和 return 它找到匹配项的行号。抱歉,如果这听起来令人困惑,这里有一张图片可以帮助澄清
我正在寻找一个宏,它将 return 在 sheet 1 列 B 中匹配行,即 9 然后 3 然后 10。
我知道我问了很多,但作为一个 excel 初出茅庐的人,非常感谢任何帮助。
尝试以下 UDF
Public Function Findname(s As String, rLook As Range) As Long
Findname = 0
For Each r In rLook
If r.Text = s Then
Findname = r.Row
Exit Function
End If
Next r
End Function
用户定义函数 (UDF) 非常易于安装和使用:
- ALT-F11 调出 VBE window
- ALT-I
ALT-M 打开一个新模块
- 粘贴内容并关闭 VBE window
如果您保存工作簿,UDF 将随之保存。
如果您使用的 Excel 版本晚于 2003,则必须保存
文件为 .xlsm 而不是 .xlsx
删除 UDF:
- 如上所述调出 VBE window
- 清除代码
- 关闭 VBE window
要使用来自 Excel 的 UDF:
=findname(A1,Sheet2!A1:G18)
要了解有关宏的更多信息,请参阅:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
和
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
有关 UDF 的详细信息,请参阅:
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
必须启用宏才能工作!
我很抱歉,因为我是一个完全的新手,但我正在尝试为 excel 编写一个宏,它将遍历一个 sheet 上的一列名称,然后搜索一个字段第二个单元格 sheet 和 return 它找到匹配项的行号。抱歉,如果这听起来令人困惑,这里有一张图片可以帮助澄清
我正在寻找一个宏,它将 return 在 sheet 1 列 B 中匹配行,即 9 然后 3 然后 10。
我知道我问了很多,但作为一个 excel 初出茅庐的人,非常感谢任何帮助。
尝试以下 UDF
Public Function Findname(s As String, rLook As Range) As Long
Findname = 0
For Each r In rLook
If r.Text = s Then
Findname = r.Row
Exit Function
End If
Next r
End Function
用户定义函数 (UDF) 非常易于安装和使用:
- ALT-F11 调出 VBE window
- ALT-I ALT-M 打开一个新模块
- 粘贴内容并关闭 VBE window
如果您保存工作簿,UDF 将随之保存。 如果您使用的 Excel 版本晚于 2003,则必须保存 文件为 .xlsm 而不是 .xlsx
删除 UDF:
- 如上所述调出 VBE window
- 清除代码
- 关闭 VBE window
要使用来自 Excel 的 UDF:
=findname(A1,Sheet2!A1:G18)
要了解有关宏的更多信息,请参阅:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
和
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
有关 UDF 的详细信息,请参阅:
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
必须启用宏才能工作!