百分位公式错误在VBA中

我正试图通过VBA为一个特定的范围应用一个公式。 这是我的VBA编辑器中的代码:

Sheets("WBR45").Range("AE105").Formula = "=PERCENTILE.INC(TP!$A$3:$A$30:$B$3:$B$30:$C$3:$C$30:$E$3:$E$30,50%)*24" 

下面的公式在运行时会在目标单元格中​​更新:

 =PERCENTILE.INC(TP!$A$3:$A$30:$B$3:$B$30:$C$3:$C$30:$E$3:$E$30,50%)*24 

但是在目标单元格中​​出现#VALUE!错误。

当我点击“显示计算步骤”时,只有公式的这一部分加下划线:

 TP!$A$3:$A$30:$B$3:$B$30 

我不知道这个简单的公式有什么问题。 有人可以请看看

老实说,我不知道你在做什么,但这可能会解决它:

 "=PERCENTILE.INC(TP!$A$3:$A$30:TP!$B$3:$B$30:TP!$C$3:$C$30:TP!$E$3:$E$30,50%)*24" 

你的公式中似乎有三个错误:

  1. 您正在使用:分隔范围而不是,
  2. 您没有指定第二,第三和第四范围涉及哪个表单,因此,对于出现公式的表单(即表单“WBR45”)是默认的
  3. 多个范围需要括在括号(...)中,以便作为单个范围传递。

如果您试图使function在范围A3:C30和范围E3:E30(即A3:E30但忽略D列)上运行,并且这些范围在“TP”工作表上,我相信您需要改变你的公式

 Sheets("WBR45").Range("AE105").Formula = "=PERCENTILE.INC((TP!$A$3:$A$30,TP!$B$3:$B$30,TP!$C$3:$C$30,TP!$E$3:$E$30),50%)*24" 

或者稍微简化一下

 Sheets("WBR45").Range("AE105").Formula = "=PERCENTILE.INC((TP!$A$3:$C$30,TP!$E$3:$E$30),50%)*24"