通过vba从表中选择特定值

时间:2014-03-31 21:47:34

标签: excel vba excel-vba

这似乎是一个简单的项目 - 但我找不到任何东西(可能是脑细胞没有正确射击)

我有一张excel工作表,其中包含一个包含parmeter的表格。表名是Parms。它有两列'Key'和'Value'。我想要做的是提供一个键并获得相应的值。如果表中包含键:Alpha,Bravo,Charlie和相应的值是10,25和75.我要求Bravo =我想要回25.

可能看起来像:

x = oSht.ListObjects(“Parameters”)。Range(“['Bravo',[Value]]”)。value

任何想法都会非常感激。

1 个答案:

答案 0 :(得分:0)

我可以想到两种可能的解决方案。第一:

假设键位于​​A列,第1行到第6行,值在B列中,我们查找的键位于C2中,那么这应该可以解决问题:

=IF(IFERROR(MATCH(C2;A1:A6;0);0);OFFSET(A1;MATCH(C2;A1:A6;0)-1;1;1;1);"")

其次,代码解决方案:

Option Explicit

Sub Test()
Dim i, j As Integer
Dim key As String
Dim answer As Integer
Dim ws As Worksheet

Set ws = ActiveWorkbook.ActiveSheet
key = "Bravo"

For i = 1 To ws.UsedRange.Rows.Count - 1
    If ws.Cells(i, 1).Value = key Then
        answer = ws.Cells(i, 2).Value
        Exit For
    End If
Next i

End Sub