本文介绍了在单元格中按编号而不是名称引用工作表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

让我们说sheet3.name = "d"

有没有办法可以在 sheet2 上的单元格中放入公式 =sum(sheet3!b:b) 其中 sheet3 是被替换为实际的 sheet3 名称?

Is there a way I could put in a cell on sheet2 the formula =sum(sheet3!b:b) where sheet3 is being substituted with the actual sheet3 name?

到目前为止,我只能让 =sum('d'!b:b) 工作.

I can only get =sum('d'!b:b) to work so far.

我可能会为此使用 VBA,但我很好奇如何在单元格中执行此操作,这样我就不必每次都运行宏.

I could use VBA for this probably but I'm curious how to do this in a cell so I don't have to run a macro each time.

推荐答案

如果您可以使用 UDF 用户定义函数,它将返回工作表名称

If you can use a UDF User Defined Function that will return the sheet name

Function SHEETNAME(number As Long) As String
    SHEETNAME = Sheets(number).Name
End Function

然后是一个像

=SUM(INDIRECT(SHEETNAME(3) &"!B:B"))

将返回表 3 上 B 列的总和.

will return the sum from column B on sheet 3.

SHEETNAME(number) 返回索引编号的工作表名称.

SHEETNAME(number) returns the sheet name of the number which is index.

所以 Sheet(1) 返回 Sheet1 等

So Sheet(1) returns Sheet1, etc

这篇关于在单元格中按编号而不是名称引用工作表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-17 08:50