我试图找到一种方法来做到这一点。在这一刻。我将多个数据集导入电子表格。我有两个彼此垂直设置的枢轴表。顶部水平是所有测试名称,垂直是日期列表。
日期根据从查询中提取的数据点数量而变化,因此范围会不断变化。
使用以下代码将数据分类到这两个中。
=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)),"")
最终结果是数据按照这种格式分类到适当的数据/测试对中。
我遇到了一个问题,因为我需要能够扩展数据排序公式的受影响区域,而不是无限期地向下延伸。
我试图使用这个VBA宏,但目的不是拉下EXACT公式,而是扩展公式,因为Excel会扩展它,更改允许更改的项目,如行和用于更改数据排序条件的列。
Sub aTest()
With Sheets("Sheet2")
.Range("c4:c" & .Cells(.Rows.Count, "B").End(xlUp).Row).Formula = "=Len(B4)"
End With
End Sub
这不起作用,因为它完全复制了公式。
提前谢谢你。
答案 0 :(得分:0)
使用.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])"
表示前一列,下面为零行