【发布时间】:2019-09-03 18:10:12
【问题描述】:
我有一个名为“发票”的 Excel 工作簿,其中包含大约 35 名员工的发票模板。从外观上看,所有的工作表都是相同的,除了雇主、工资率、姓名等。每个员工在此工作簿中都有不同的工作表。
此外,我每周都会收到大约 120 名员工的“主考勤卡报告”,我必须每周将其下载为单独的 Excel 工作簿。这些员工中的每一个都有一个单独的工作表。 “主时间卡报告”中的数据必须传输到“发票”工作簿上的模板。我一直在手动执行此操作,并且一直试图在 Excel 中找到一种方法来动态引用“发票”工作簿中“主时间卡报告”工作簿中的工作表。
问题在于“主考勤卡报告”上的单元格地址会发生变化,具体取决于多种因素。一周,任何特定员工的总小时数可能在单元格“T50”中,然后下周他们可能在单元格“T43”中(他们从不更改列)。此外,工作表的名称可能会从“Sheet1”更改为“Sheet3”,因为添加了新员工或下岗。
我已经进行了大量的研究,但似乎无法找到一种方法来做到这一点。
这是我目前使用的公式:
=INDIRECT("'[Mastetimecardreports.xlsx]*'!B"&MATCH($D18,[Mastetimecardreports.xlsx]Sheet1:Sheet129!$B:$B,0)+1)
我的目标是在“发票”工作簿中的各自工作表上输入员工的姓名,并在“主考勤卡报告”工作簿中找到该姓名,并从工作表中为该员工提取数据。我想动态地执行此操作,因为单元格地址和工作表总是会发生变化。
【问题讨论】:
-
PowerQuery 研究。如果您希望人们在这里帮助您,还可以添加一些示例以及您想要的结果
标签: excel vba dynamic reference excel-indirect