我想知道是否有与工作表或工作簿(而不是单元格)的间接函数等效的功能。我的意思是,我正在更新一个相当庞大且笨重的工资单工作簿,该公司有各种各样的人,以不同的小时工资率从事不同的项目。每位员工都以 Excel 工作表的形式提交当月的工资信息。我想要做的是尽可能自动汇总每个员工在每个特定项目中的工作时间。如果我可以调用特定工作簿中的特定单元格而不必每次都更改公式,那就太好了。
换句话说,每个员工每个月都会提交名为“姓名月份”的工作表。我想将这些工作表汇编到一个工作簿中,并自动提取数据以形成一个摘要页面,该页面将列出不同项目的账单。我认为如果间接函数也可以用于工作表而不仅仅是单元格,我就可以做到这一点,但它不能。它们有等效函数吗?
我不懂 VBA。
谢谢
答案1
为了:
A1 = Workbook
A2 = Worksheet
A3 = Cell Reference
使用=INDIRECT("[" & A1 & ".xls" & "]" & A2 & "!" & A3)
要引用带有空格的工作表,您需要将其括在单引号 (') 中。对于:
A1 = Workbook
A2 = Worksheet Name 1
A3 = Worksheet Name 2
A4 = Cell Reference
使用=INDIRECT("[" & A1 & ".xls" & "]" & "'" & A2 & " " & A3 & "'" & "!" & A4)
要引用工作表中未在单元格中记录的特定范围,只需将其放在旁边!
:
使用=INDIRECT("[" & A1 & ".xls" & "]" & "'" & A2 & " " & A3 & "'" & "!E34")
笔记: 和间接,您必须仅引用打开工作簿