我如何获得一个函数来引用它所在的单元格?

我正在写一个函数,我需要函数来引用它所在的单元格的偏移量。我得到了包含特定variables的每列的数据行。 该函数驻留在最后一列,并且应该检查在其中定义的每个variables是否与它之前的行中的variables相匹配。 每场比赛应该得到一个+1的function的最终价值。 这是我的function的简短版本。

Public Function cellscore(testvar1) totalscore = 0 If testvar1= activecell.Offset(-1, -10) Then cellscore = totalscore + 1 End If End Function 

我用什么replaceActivecell,以便该函数能够正确运行我拥有的每一行数据?

我是VBA新手,如果这是一个简单的问题,请耐心等待。 提前致谢。

最简单的方法是将数值传递给表示行号的函数。 这意味着你的代码会变成这样:

 Public Function cellscore(testvar1,RowNum as Long) totalscore = 0 If testvar1= Range("SOMECELL").Offset(RowNum-2, -10) Then cellscore = totalscore + 1 End If End Function 

您将需要更改SOMECELL来表示第一行中的单元格。 例如,如果您的公式被放置在T列中,那么您将用T1取代SOMECELL

现在聪明的部分就是如何在工作表中调用函数。 您可以使用以下公式来做到这一点:

 =cellscore(SOMEVALUE,ROW()) 

显然用您正在testing的值replaceSOMEVALUE 。 现在不pipe这个公式放在哪一行,它将在调用函数时引用当前的那一行。 希望这可以帮助!