当前位置: 首页 > 知识库问答 >
问题:

Excel vba-worksheet_change下拉列表

晁绍辉
2023-03-14

嗨Stackoverflow社区,

如果满足条件,我想添加一个数据验证下拉列表。

如果“最终侦察”出现在C列中,则以以下状态填充下拉列表:“最终”或“正在审查”,否则不要填充下拉列表。

我可以使用非VBA验证列表,但在这种类型的评估审查中,我需要使用VBA版本。

这就是我到目前为止所拥有的,我被困得很厉害。我在C栏有“最终侦察”,如果最终侦察出现在C栏,然后用“最终”和“正在审查”的选项填充下拉列表。

 Private Sub Worksheet_Change(ByVal Target As Excel.Range)

If Target.Column = 1 Then

    ThisRow = Target.Row

    If Target.Value = "Final Recon" Then

    With Selection.Validation
        .Range ("N" & ThisRow)


.Delete
.Add Type:=xlValidateList, Formula1:="=Final", Formula2:="=Under Review"
 End With

    Else
        Range("N" & ThisRow) = ""
    End If
  End If
 End Sub

共有1个答案

田永春
2023-03-14

我想通了。我唯一的问题是,如果“最终侦察”不在“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
 类似资料:
  • 增加下拉列表在到按钮上,确保 data-activates 属性匹配 <ul> 标签的 id,你可以增加分隔线通过 <li class="divider"></li> 标签。 <!-- Dropdown Trigger --> <a class='dropdown-button btn' href='#' data-activates='dropdown1'>单击我</a> <!-- D

  • 实现下拉列表(Combo Box)功能,可以用作下拉单选框。 [Code4App.com]

  • 本文向大家介绍JavaScript实现下拉列表,包括了JavaScript实现下拉列表的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了JavaScript实现下拉列表的具体代码,供大家参考,具体内容如下 这一次写了一个比较简单的下拉列表的实现,点击出现列表内容,再次点击列表消失,研究了很久,发现这种js写法确实比较好用。先看一下效果。 直接上代码,js是主要写的部分,css是随意调试

  • 我已经实现了一个html下拉列表,一切似乎都很好,我只想整理一下: 1) 当订单屏幕加载时,“选择”作为下拉列表上的初始选项出现。当用户单击下拉列表时,“选择”仍然出现。我想在选择下拉列表时隐藏“选择”,视图中缺少某些选项? 2)验证方面,我不能做一个订单,直到从下拉列表中选择一个选项。这是罚款,但之前我使用一个文本框,得到了一个漂亮的大红色错误消息,现在我什么都没有得到,我如何通知用户一个选项必

  • 我想根据ViewBag值过滤下面加载的ProductData dropdownlist,比如ViewBag。类别需要传递给GetProductData()的viewbag值。我怎样才能做到这一点。非常感谢。 控制器: //需要基于viewbag进行过滤。类别值

  • 目前,我只能通过单击“Add”按钮在jsf中创建两个下拉列表。 最初我有一个表单有两个下拉列表,一个“添加”按钮和一个“提交”按钮。 请给我一些示例代码来做这件事。 谢谢