根据下拉列表的值更改一次单元格的值

时间:2016-08-18 07:07:09

标签: excel vba excel-vba macros

我在工作表1上有一个值列表,在工作表2上有下拉列表,其中包含在表1中给出的值。

例如:在表1中,我将值设置为Rack,Dept,server等(我已创建命名范围作为委员会)。 在工作表2上,B17有下拉列表,上面提供了值。

现在,在Sheet 2,B18上,我必须创建一个下拉列表。 因此,如果用户选择B17作为Rack。 B18值应为“满” 用户选择B17作为部门.B18应为“Carass” 用户选择B17作为服务器。 B18应该是“Rizon”等。

B18上的值不会改变并且会保持不变。 我将如何做到这一点?我是否必须使用VBA进行硬编码。

注意:我不想要B18上的下拉列表。因此我很困惑。

2 个答案:

答案 0 :(得分:0)

如果B18中只有一个值,则在B17中选择的内容与另一个范围中的B18之间进行映射,并使用VLOOKUP

答案 1 :(得分:0)

我认为最简单的方法是在工作表1中添加与您旁边的下拉选项相对应的固定值,然后在工作表2的B18中使用带有iferror的vlookup公式,这样它就是空白或填充相应的值。以下假设您的选择在A4到A6中,您的回答在表1中的B4到B6中。将公式放在B18的第2页上:

=IFERROR(VLOOKUP($B$17,Sheet1!$A$4:$B$6,2,0),"")

这应该可以正常工作。

进一步编辑评论:

=IFERROR(IF(AND($B$17="Rack",$D$23>DATEVALUE("01/12/2006")),"",VLOOKUP($B$17,Council,2,0)),"")

以上假设您的Full结果在命名范围内,然后只是放空。