需要一个vba宏来搜索单元格字段以查找匹配项并返回它找到匹配项的行号

时间:2015-01-26 14:29:31

标签: excel vba

我道歉,因为我是一个完整的新手,但我正在尝试为excel写一个宏,它将在一张纸上查看一列名称,然后在第二张纸上搜索单元格字段并返回行号找到一个匹配。对不起,如果这听起来令人困惑,这里有一张图片来帮助澄清

enter image description here

我正在寻找一个宏,它将在第1页B列中返回匹配的行,即9然后是3然后是10。

我意识到我要求很多,但作为一个优秀的人,我们非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

尝试以下 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)非常易于安装和使用:

  1. ALT-F11调出VBE窗口
  2. ALT-I ALT-M打开了一个新模块
  3. 粘贴内容并关闭VBE窗口
  4. 如果保存工作簿,UDF将随之保存。 如果您在2003年之后使用的是Excel版本,则必须保存 该文件为.xlsm而不是.xlsx

    删除UDF:

    1. 按上述方式调出VBE窗口
    2. 清除代码
    3. 关闭VBE窗口
    4. 从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

      必须启用宏才能使其生效!