Excel vba / 使用索引号在多个工作表上创建总和

问题描述 投票:0回答:1

我想使用其他工作表(4 到 13)的索引号作为参考而不是它们的名称来计算跨越多个工作表的总和。 我选择使用索引号,因为工作表的名称会改变,但索引号不会。

我试着这样做:

Range("Y9") = "=SUM('Sheets(4):Sheets(13)'!R2C40)" 

这只是以“Sheets(4)”和“Sheets(13)”作为名称,而不是引用相关的工作表

我也试过引用:

Range("Y9") = "=SUM('" & Sheets(4) & ":" & Sheets(13) & "'!R2C40)" 

但是这也不起作用,我得到了 438 错误代码。 这是指可用属性/方法的错误。

我想知道是否可以这样使用索引号。

excel vba sum worksheet
1个回答
1
投票

Sheets(4)
返回一个工作表对象。

您需要以字符串形式提供工作表的名称:

Range("Y9").FormulaR1C1 = "=SUM('" & Sheets(4).Name & ":" & Sheets(13).Name & "'!R2C40)"

一个注意事项:在引用范围对象时,最好使用父表。这样你就不会依赖于什么是活动工作表,也不需要激活工作表。

WorkSheet("blahblah").Range("Y9").FormulaR1C1 = "=SUM('" & Sheets(4).Name & ":" & Sheets(13).Name & "'!R2C40)"
© www.soinside.com 2019 - 2024. All rights reserved.