如果框为空或少于1个字符,则添加状态下拉列表

时间:2019-07-15 16:23:27

标签: excel vba

我正在尝试添加状态代码的下拉列表,以便用户可以从中选择是否有空框或是否有错误(“ N”而不是“ NJ”)。我希望这发生在L列中除标题之外的所有单元格中。

我有一个单独的表,其状态代码位于此处:Schema_1099收件人'!$ D $ 27:$ D $ 76

tmp=((1,2), ('a','b'))

result = tuple(x for st in tmp for x in st)

我能够在一个单元格中编码简单的下拉列表,但我希望它出现在列中的所有单元格上。

1 个答案:

答案 0 :(得分:1)

您的代码不完整,需要一些调整。 您将需要添加代码以确定lastrow变量,出于测试目的,我将其设置为10。您还需要EndIf和With .validation代码。 这应该适用于第2到10行的活动工作表。

Sub state_list()
lastrow = 10
    For Each Cell In Range("L2:L" & lastrow)
        If Len(Cell.Value) >= 1 Then
    With Cell.Validation
            .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="='Schema_1099 Recipient'!$D$27:$D$76"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
End If
Next
End Sub