首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >找到一个具有特定值的单元格,如何引用该单元格在整个列中搜索另一个值

找到一个具有特定值的单元格,如何引用该单元格在整个列中搜索另一个值
EN

Stack Overflow用户
提问于 2019-06-01 01:14:23
回答 1查看 35关注 0票数 0

我正在尝试用excel编写一个程序,用户输入一个值,它在其他工作表中搜索该值,找到具有该值的列,在该列的行中搜索晚于今天日期的日期,并返回第一列的内容,这些行的值晚于今天的日期。

到目前为止,我已经能够找到具有输入值的单元格,但是我遇到了如何引用找到的单元格的列来让整个列搜索日期的问题。

下面是我到目前为止所拥有的,我认为我应该在"If Worksheets(i).Cells(2,j).Value = Method Then“后面输入另一个If语句:"If Worksheets(i).Cells(?,?).Value >=Today() Then",但是我不确定如何引用我想要搜索的单元格,因为这些单元格取决于它们在前面语句中的位置。

代码语言:javascript
运行
复制
Private Sub CommandButton1_Click()

totalsheets = Worksheets.Count
Method = Worksheets("Search a Method").Cells(3, 6).Value

For i = 1 To totalsheets
    If Worksheets(i).Name <> "Search a Method" Then

    lastcolumn = Worksheets(i).Cells(2, Columns.Count).End(xlToLeft).Column

    For j = 2 To lastcolumn
        If Worksheets(i).Cells(2, j).Value = Method Then

        Worksheets("Search a Method").Activate

        lastrow = Worksheets("Search a Method").Cells(Rows.Count, 1).End(xlUp).Row
        Worksheets("Search a Method").Cells(lastrow + 1, 1).Value = Worksheets(i).Name

        End If
    Next
    End If
Next

End Sub
EN

回答 1

Stack Overflow用户

发布于 2019-06-01 02:18:32

我将以我关于使用.Find()的建议为基础,下面的示例应该会给出一些指导:

代码语言:javascript
运行
复制
Dim findrng As Range, col As Long, method As String
method = "dog"
With Sheets(1)
    Set findrng = .Rows(2).Find(what:=method, LookIn:=xlValues, LookAt:=xlPart, searchorder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False)
End With
col = findrng.Column
Debug.Print col

我将“猫”放在单元格(2,2)中,将“狗”放在单元格(2,3)中,因此在上面的代码中,即时窗口显示为"3",表示找到了列method

上图:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56399270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档