这似乎是一个简单的项目 - 但我找不到任何东西(可能是脑细胞没有正确射击)
我有一张excel工作表,其中包含一个包含parmeter的表格。表名是Parms。它有两列'Key'和'Value'。我想要做的是提供一个键并获得相应的值。如果表中包含键:Alpha,Bravo,Charlie和相应的值是10,25和75.我要求Bravo =我想要回25.
可能看起来像:
x = oSht.ListObjects(“Parameters”)。Range(“['Bravo',[Value]]”)。value
任何想法都会非常感激。
答案 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