我在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
答案 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