在列中查找第一个数字的发生

我有一个电子表格,列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列的值,在这种情况下是第一行有我们的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 

我相信你可能会想要做的不仅仅是一个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 

希望这可以帮助:

 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