您好Stackoverflow社区,
如果满足条件,我想添加数据验证下拉列表。
使用Excel VBA,我想添加下拉列表以填充N列,这是我的帐户状态,每当单词" Final Recon"出现在C列中,这是我的估价状态,但只有在单词" Final Recon"出现在C栏中。
使用Excel VBA - 私有子工作表_Change(ByVal目标作为范围):
如果" Final Recon"出现在C列中,然后使用以下状态填充下拉列表:" Final"或者"在审核"之后,否则不要填充下拉列表。
我可以使用非VBA验证列表,但在此类评估审核中,我需要使用VBA版本。
这是我到目前为止所做的事情,我很困难。 我有" Final Recon"在C列中,如果最终重新调整出现在C列中,则使用" Final"选项填充下拉列表。和"正在审核"。
但由于某些原因,当Final Recon出现在C列时,drop-dwon列表没有填入N列。
提前感谢您提供任何帮助或解决方案。
$Body .= "Guest_Name: ";
$Body .= $Guest_Name;
$Body .= "\n";
$Body .= "Guest_Role: ";
$Body .= $Guest_Role;
$Body .= "\n";
答案 0 :(得分:0)
我能够弄清楚。我遇到的唯一问题是 如果“Final Recon”不在“C”栏中,则下拉不显示。
On Error Resume Next
If Target.Column = 3 Then
If Target.Validation.Type = "Final Recon" Then
Application.EnableEvents = False
''get the data drop-down validation list
Target.Offset(0, 11).Select
With Selection.Validation
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop
Operator:=xlBetween, _
Formula1:="Final", Formula2:="Under Review"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
Else
Target.Offset(0, 11).Value = ""
End If
End If
exitHandler:
Application.EnableEvents = True
Exit Sub