Excel vba-根据具有ID的另一个工作表中的值填充级联下拉列表

时间:2017-09-10 16:26:32

标签: vba excel-vba excel

如何在excel宏vba代码中为以下场景构建级联下拉列表。

主要表格包含要编写宏代码的业务流程,子业务流程和活动名称。所有字段都应该下拉。

业务流程名称和子业务数据将从Businessprocess工作表中的数据中重新获得。 然后从活动表中检索活动名称,该活动表依赖于业务流程名称或子业务流程名称(如果适用)。

层次结构是这样的 Bbusiness流程 - >子业务流程名称 - >活动名称

如果没有子业务流程名称 Bbusiness流程 - >清空 - >活动名称

业务流程表

BusinessprocessId | BusinessprocessName |SubBProcessI | SubBusinessprocessName
1                 |B1                   |NULL         | NULL
2                 |B2                   |3            | Sub B1
2                 |B2                   |4            |Sub B2
5                 |B4                   |NULL         |NULL

活动表

BusinessProcessId | BusinessProcessname | ActivityId |  ActivityName
1                 |B1                   |1           |  A1
1                 |B1                   |2           |A2
2                 |B2                   |3           |A3
3                 |Sub B1               |4           |A4
4                 |Sub B2               |5           |A5
5                 |B4                   |6           |A6

根据以上两张纸,主张应该有3个以下的字段作为下拉列表。

Businessprocessname | SubBusinessprocessName |ActivityName
B1                  | NULL                   |A1
B2                  | Sub B1                 |A4
B4                  |NULL                    |A6

请帮助编写上面的宏来考虑将3作为excel中的单个工作表。

1 个答案:

答案 0 :(得分:0)

回答有关如何构建依赖下拉列表的问题。我建议你先看看以下链接:

http://www.contextures.com/xlDataVal02.html

http://www.siddharthrout.com/2011/07/29/excel-data-validationcreate-dynamic-dependent-lists-vba/

我们的想法是使用共同关系数据构建工作表(然后可能隐藏工作表),然后使用数据验证列表框中的公式来引用此关联数据。

希望这有助于开始。