如何使用VBA基于工作表名称提取数据

时间:2016-12-12 08:34:17

标签: excel vba excel-vba

我有一份收集报告,其中包含主要工作表“每月收集”以及包含所有日期的其他工作表。想要在主表上有一个合并数据。我在主单元格B4到B25中有所有工作表名称。根据此工作表名称,必须将数据从相应的工作表拉到主工作表。

Dim ws As Worksheet
Dim Dates As Range
For Each Dates In Range("B4:B25")
If ws = Dates Then

......................     万一     下一步

必须做出一些改变,我无法解决这个问题。如果工作表名称和日期(B4:B25)匹配则必须根据主工作表中的日期从每个工作表从C4到d4获取数据到主工作表。 有人可以帮忙吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

您应该可以使用INDIRECT()函数使用您在B列中提供的名称来引用工作表。 = INDIRECT(文本(B4,“dd-mmm-yy”)&“!C5”)应从03-DEC-16表单上的单元格C5中提取数据。

以上显示公式中的一些错误。请你查一下下面的内容。

B列中的值是格式化为工作表名称的日期。为了使它工作使用文本(B4,“dd-mmm-yy”)。我上面已经更新了。

enter image description here