通过VBA使用其他表格的输入填充表格

通过VBA使用其他表格的输入填充表格,vba,excel,Vba,Excel,我正在尝试使用另一个表(不同的表“wsQuant”)的输入填充一个表中的一个表,基于此函数: =CountIfs(Tabelle14[Question1];[@[Q1]];Tabelle14[Name];[@[Name]];Tabelle14[Participation];[@[Participation]]) 这是可行的,但由于表非常大,我试图通过VBA实现它,因为文件总是崩溃(我认为一次计算太多)。到目前为止,我的解决方案是: Sub DataBase() Dim wsQuant As

我正在尝试使用另一个表(不同的表“wsQuant”)的输入填充一个表中的一个表,基于此函数:

=CountIfs(Tabelle14[Question1];[@[Q1]];Tabelle14[Name];[@[Name]];Tabelle14[Participation];[@[Participation]])
这是可行的,但由于表非常大,我试图通过VBA实现它,因为文件总是崩溃(我认为一次计算太多)。到目前为止,我的解决方案是:

Sub DataBase()

Dim wsQuant As Worksheet
Set wsQuant = Worksheets("quantitativ")

Range("I5").Value = WorksheetFunction.CountIfs("wsQuant[$Z$4:$Z$1000]", [@[Q1]], "wsQuant[Name]", [@[Name]], "wsQuant[Participation]", [@[Participation]])

End Sub
这不管用,我也不知道为什么

我搜索了一整天,没有找到任何答案

任何帮助都将不胜感激

编辑: 样本:

数据就是这样给出的。对问题的回答从1分到5分


此列表应通过计算与前4个克隆匹配的答案来填写。

您可能需要将范围设置为范围变量,并在
Countifs()中使用该变量。
。您没有像使用工作表函数一样使用它,因此我不知道简单地将范围名称放在其中是否有效。表是
列表对象
-因此您可能应该使用所讨论的
列表列
数据源范围
作为
工作表函数.Countifs
中的参数。这非常简单,你能提供一个样本让我告诉你具体的方法吗?我相应地编辑了这个问题。这些信息有用吗?