请较,如何在EXCEL,VBA中,  用函数,查找一个字符串,并返回所在行的值?

解决方案 »

  1.   

    VBA里没有现成的函数吗?请教啦
      

  2.   

    VBA有現成的,你調用本身的查找方法,
    他會返回你所需要的信息的。
      

  3.   

    用Application.WorksheetFunction.VLookup()函数就可以了
      

  4.   

    用宏录制功能,再按CTRL+F,就知道 查找的函数了.
      

  5.   

    查找字符串的最简单方法是——Find
    以下代码可以直接运行("你要找的字符串")    Dim myrange As Range
        Set myrange = ActiveSheet.Cells.Find(what:="你要找的字符串", LookIn:=xlValues)
        MsgBox myrange.Row
      

  6.   

    With Worksheets(lcststrSheetSaikenName)
         Set lvarcellichi = .Range("E8:Z8").Find(Trim(lstrArrayList(1)), LookAt:=xlWhole)
         If Not lvarcellichi Is Nothing Then
            Cells(intLoopCnt - 1 + 9, .Range(lvarcellichi.Address).Column).Value = lstrArrayList(2)
         End If
    End With
    lcststrSheetSaikenName:Sheets名称,
    lstrArrayList(1)),:要查询的值
    .Range(lvarcellichi.Address).Column).Value :这个值所在列
      

  7.   

    With Worksheets(lcststrSheetSaikenName)
         Set lvarcellichi = .Range("E8:Z8").Find(Trim(lstrArrayList(1)), LookAt:=xlWhole)
         If Not lvarcellichi Is Nothing Then
            Cells(intLoopCnt - 1 + 9, .Range(lvarcellichi.Address).Column).Value = lstrArrayList(2)
         End If
    End With
    lcststrSheetSaikenName:Sheets名称,
    lstrArrayList(1)),:要查询的值
    .Range(lvarcellichi.Address).Column :这个值所在列
    .Range(lvarcellichi.Address).Rows :这个值所在行
      

  8.   

    For Each cl In Sheet1.UsedRange
    If cl = "aaa" Then MsgBox cl.Row 'or like "*aaa*"
    Next
    ======================欢迎光临“OFFICE论坛”http://office.9zp.com
      

  9.   

    Set sqltext = oWs.Cells.Find("SELECT")   '在文件中查找SELECT字符串
    Row = oWs.Cells.Find("SELECT").Row       '获得它所在的行
    If Not sqltext Is Nothing Then
            '取字符串中两个#号之间的字符串
            start = InStr(1, sqltext, "#", 0) '查询字符串
            endstr = InStr(start + 1, sqltext, "#", 0)
            midtxt = Mid(sqltext, start + 1, endstr - start - 1)
    end if