基于dynamic范围在行中扩展en Excel论坛单元格

我试图find一种方法来做到这一点。 在这一刻。 我将多个数据集导入电子表格。 我有2个数据透视表设置相互垂直。 顶部水平是所有的testing名称,垂直是一个date列表。

date根据从查询中提取的数据点的数量而改变,因此范围不断变化。

数据通过使用下面的代码被分类到这两个。

=IF(SUMPRODUCT((Sheet3!$B$4:$B$174=E$3)*(Sheet3!$C$4:$C$174=$B10)*(Sheet3!$E$4:$E$174))>0,SUMPRODUCT((Sheet3!$B$4:$B$174=E$3)*(Sheet3!$C$4:$C$174=$B10)*(Sheet3!$E$4:$E$174)),"") 

最终效果是数据按照这种格式分类到适当的数据/testing对中。

我遇到了一个问题,因为我需要能够扩展数据sorting公式的受影响的区域,而不是无限期地沿行延伸。

我试图使用这个VBAmacros,但目的不是拉下EXACT公式,而是扩展公式,因为Excel会扩展它,更改允许更改的项目,例如行和列以更改数据分类标准。

 Sub aTest() With Sheets("Sheet2") .Range("c4:c" & .Cells(.Rows.Count, "B").End(xlUp).Row).Formula = "=Len(B4)" End With End Sub 

这没有工作,因为它准确地复制公式。

先谢谢你。

使用.FormulaR1C1方法,而不是我认为应该做的伎俩,它应该考虑抵消单元格引用。

 Sub aTest() With Sheets("Sheet2") .Range("c4:c" & .Cells(.Rows.Count, "B").End(xlUp).Row).FormulaR1C1 = "=Len(R[0]C[-1])" End With End Sub 

方括号使得引用相对,所以"=Len(R[0]C[-1])"是指前一列和下一行零