Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用MS Excel VBA获取具有不同行大小的多列的列总数的最佳方法_Excel_Vba_Sum_Formula - Fatal编程技术网

使用MS Excel VBA获取具有不同行大小的多列的列总数的最佳方法

使用MS Excel VBA获取具有不同行大小的多列的列总数的最佳方法,excel,vba,sum,formula,Excel,Vba,Sum,Formula,我有数百列(固定)和不同数量的行,这取决于数据拉取。我有一个代码,在最后一行输入一个总计公式加上一个。这很有效。但我有太多的专栏需要总结。假设范围H:EA中的每一列都需要一个总和 我需要一个比下面更有效的公式,但我不确定该向何处求助: Sheet2.Range("A1").End(xlDown).Offset(1, 25).FormulaR1C1 = "=SUM(R2C:R[-1]C)" Sheet2.Range("A1").End(x

我有数百列(固定)和不同数量的行,这取决于数据拉取。我有一个代码,在最后一行输入一个总计公式加上一个。这很有效。但我有太多的专栏需要总结。假设范围H:EA中的每一列都需要一个总和

我需要一个比下面更有效的公式,但我不确定该向何处求助:

Sheet2.Range("A1").End(xlDown).Offset(1, 25).FormulaR1C1 = "=SUM(R2C:R[-1]C)"
Sheet2.Range("A1").End(xlDown).Offset(1, 26).FormulaR1C1 = "=SUM(R2C:R[-1]C)"
Sheet2.Range("A1").End(xlDown).Offset(1, 27).FormulaR1C1 = "=SUM(R2C:R[-1]C)"
Sheet2.Range("A1").End(xlDown).Offset(1, 28).FormulaR1C1 = "=SUM(R2C:R[-1]C)"
Sheet2.Range("A1").End(xlDown).Offset(1, 28).FormulaR1C1 = "=SUM(R2C:R[-1]C)"
Sheet2.Range("A1").End(xlDown).Offset(1, 29).FormulaR1C1 = "=SUM(R2C:R[-1]C)"
Sheet2.Range("A1").End(xlDown).Offset(1, 30).FormulaR1C1 = "=SUM(R2C:R[-1]C)"
etc etc

您可以使用一个步骤将公式写入多列:

Sheet2.范围(“A1”).结束(xlDown).偏移量(1,25).调整大小(,7).公式1c1=“=SUM(R2C:R[-1]C)”

假设范围H:EA中的每一列都需要一个总和

请注意,通常的方法是使用
End(xlUp)
查找最后一行,您可以轻松构建范围引用,而不是使用
Resize

带活页2
最后一排一样长
lastRow=.Cells(.Rows.Count,“H”).End(xlUp).行+1
.Range(“H”行和“:EA”行和最后一行)。公式1c1=“=SUM(R2C:R[-1]C)”
以
您可以使用一个步骤将公式写入多列:

Sheet2.范围(“A1”).结束(xlDown).偏移量(1,25).调整大小(,7).公式1c1=“=SUM(R2C:R[-1]C)”

假设范围H:EA中的每一列都需要一个总和

请注意,通常的方法是使用
End(xlUp)
查找最后一行,您可以轻松构建范围引用,而不是使用
Resize

带活页2
最后一排一样长
lastRow=.Cells(.Rows.Count,“H”).End(xlUp).行+1
.Range(“H”行和“:EA”行和最后一行)。公式1c1=“=SUM(R2C:R[-1]C)”
以

应为H列限定符的最后一行(非第行)。谢谢你,大本。“你现在帮了我两次了。”达萨卡卢波维拉。修正了,谢谢你指出。很高兴提供帮助。应该是H列限定符的最后一行(不是第行)。谢谢你,大本。“你现在帮了我两次了。”达萨卡卢波维拉。修正了,谢谢你指出。很乐意帮忙。