我有一个名为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 = ???
答案 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
您可以使用指定的字符串变量替换我示例中的硬编码字符串。