如何使用工作表名称填充下拉列表以填充工作表单元格的范围?

时间:2016-04-25 20:03:45

标签: excel-vba excel-formula vba excel

嗨,我希望有人可以提供帮助。

我有一个工作簿列A填充了标题,其中B列用于数据。 只使用这两列。

我在A列中有相同的标题,在一系列工作表上复制,其中B列填写了客户数据。

在我的第一张工作表上(B列中没有数据)我正在尝试使用一个下拉列表,其中填充了工作簿中工作表的名称。 从下拉列表中选择工作表名称时这是从相应工作表中填写数据。 值得注意的是,每张纸上的所有标题都在相同的单元格中。

如果解决方案需要,我可以将所有客户数据合并到一张纸上,但需要在单独的纸张上单一下拉列表中的一组数据

我以为我可以通过某种范围Vlookup链接到一个单独的工作表名称但我无法理解它的范围。 任何帮助非常感谢。

一般情况下我在excel中使用公式,所以如果可以使用VLookup或类似的,如果没有那么好,那么请为VBA删除一些代码。

1 个答案:

答案 0 :(得分:0)

根据您的描述,Sheet11是客户数据表,看起来像这样......

enter image description here

查找客户数据的工作表看起来像这样......

enter image description here

单元格D2包含下拉列表,用于选择要查看的客户数据表,在本例中为Sheet11。

Cell B2包含以下公式,填充......

=IF(ISERROR(VLOOKUP(A2,INDIRECT("'"&$D$2&"'!"&"A:B"),2,FALSE)),"",VLOOKUP(A2,INDIRECT("'"&$D$2&"'!"&"A:B"),2,FALSE))

它构造一个表示要查看的客户数据的字符串,并使用INDIRECT函数将该字符串转换为有效的引用。它使用VLookup来查找感兴趣的数据。如果VLookup返回错误,则返回空字符串,否则返回客户数据。

注意:构造字符串时,如果工作表名称中有空格,则工作表名称用单引号括起来。