从结构表中获取单元格值,[header]为String?

时间:2015-07-26 00:55:18

标签: excel excel-vba vba

我有一个名为tblPlayerList的表,它在列A [名称]中有播放器名称,它们在[WK01]到[WK45]的列中的点如下所示:

NAME             POS    CLUB    WK01    WK02    WK03
David Ospina      GK    Arsenal   12        
Emiliano Martinez GK    Arsenal         
Petr Cech         GK    Arsenal         
Wojciech Szczesny GK    Arsenal         
Calum Chambers   DEF    Arsenal         
Gabriel Paulista DEF    Arsenal         
Héctor Bellerín  DEF    Arsenal         
Isaac Hayden     DEF    Arsenal         

我已经匹配了玩家的行号,并将周号存储为字符串" WK01"为了引用列标题,我故意将其转换为该格式,但无法使其工作。

如何从第1排的玩家那里获得WK01的分数?

Dim RowNum, GetPoints As Integer
Dim ColumnName As String

RowNum = 1
ColumnName = "WK01"

GetPoints = ???

1 个答案:

答案 0 :(得分:1)

我只是假设表ListObject(又名结构化表)在Sheet1上命名为Table1。

Dim GetPoints As Long
With Worksheets("Sheet1")    'set this worksheet reference properly
    GetPoints = Application.Index(.Range("Table1"), _
                  Application.Match("David Ospina", .Range("Table1[NAME]"), 0), _
                  Application.Match("WK01", .Range("Table1[#Headers]"), 0))
End With

您可以使用指定的字符串变量替换我示例中的硬编码字符串。