问题描述
让我们说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
这篇关于在单元格中按编号而不是名称引用工作表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!