Sub Macro1()
'
' Macro1 Macro
'
'
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Sheet2!$A:$A"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
我有这个VBA代码,它从表2中的列表中选择下拉值。 我需要的是以下内容: 现在“A2”单元格下拉列表中显示的选项应该是除A001以外的所有选项,即除了已经在上面选择的那个...以及与第一列中的所有其他下拉列表类似。
答案 0 :(得分:1)
我将把所有组件放在一个工作表上;例如Sheet2中。虽然我自己的样本数据包含19 A001,A002,...等条目,但这应适用于任意数量的条目,前提是您已充分填充Z列中的数组公式。
在右侧未使用的列(如Z列)中,将此数组公式放入第二行。
=IFERROR(INDEX(A$3:INDEX(A:A, MATCH("zzz", A:A)), MATCH(0, IF(ISERROR(MATCH(A$3:INDEX(A:A, MATCH("zzz", A:A)), C:C, 0)), COUNTIF(Z$1:Z1, A$3:INDEX(A:A, MATCH("zzz", A:A))), 1), 0)), TEXT(,))
使用CSE确认并填写以捕获A列中的每个条目。
转到公式,定义的名称,名称管理器,并使用以下公式创建一个新的已定义名称,例如 dv_list ,工作簿范围为引用:,
=Sheet2!$Z$2:INDEX(Sheet2!$Z:$Z, AGGREGATE(14, 6, ROW(Sheet2!$Z$2:INDEX(Sheet2!$Z:$Z, MATCH("zzz", Sheet2!$Z:$Z)))/SIGN(LEN(Sheet2!$Z$2:INDEX(Sheet2!$Z:$Z, MATCH("zzz", Sheet2!$Z:$Z)))),1))
选择C1:C9并使用数据,数据工具,数据验证创建列表类型数据验证,其中=dv_List
为来源:。
答案 1 :(得分:0)
我在这里被重新安排,因为我的问题是重复#34;但是我没有按照上面的例子来说明我将如何完成以下任务:
这个问题在这里已有答案: 根据其他连接单元格中的值限制值(均取决于相同的列表)1回答
我有以下的下拉列表:
Max85k,Max110k,Max125k,Max150k,Max175k
这些是指适合这些存储桶的最大数量。
例如,如果我的工作表上另一个单元格中列出的金额为$ 105k,我不希望允许Max85k选择。例如,如果该值为83K,那么将允许所有选择b / c该量可以适合任何桶。如果值为135k,则仅允许max150k和max175k选择。等等。
有办法做到这一点吗?