查找列中数字的第一次出现

时间:2015-09-22 08:02:48

标签: excel vba

我在B栏中有一个带有数字的电子表格,如下所示:

Row Number        Column B (ID)           Column C
    1                1                    Date
    2                1                    Date
    3                1                    Date
    4                2                    Date
    5                2                    Date
    6                2                    Date

如果用户点击,让我们说第2行,其ID为1,那么我想要VBA代码,它将从第一次出现ID号的行中获取C列的值,在这种情况下是第1行,其ID号为1。

因此,用户点击第2行中ID为1的单元格,并显示一个消息框,其中包含第1行C列中的值。

这可能吗?

代码:

    'Get first occurence of tender ID

    Dim rng2 As Range
Set rng2 = Range("B:B")
Dim i6 As Integer
i6 = findValues("first", "1", rng)

If i6

2 个答案:

答案 0 :(得分:2)

我确信你可能想要做的不仅仅是一个带有返回值的MsgBox,但这可能会让你开始。

Sub date_by_selection()
    Dim rw As Long, val As Variant

    val = Selection.Cells(1).Value
    With Sheets("Sheet3")   '<~~ set this worksheet properly!
        MsgBox Application.Index(.Columns(3), Application.Match(val, .Columns(2), 0))
    End With
End Sub

答案 1 :(得分:1)

希望这会有所帮助:

Public Sub find()

Dim rg As Range

For Each rg In Range("a:b")
    If rg.Cells(1, 1) = "1" Then
        Call MsgBox(rg.Cells(1, 2))
        Exit For
    End If
Next

End Sub