在表扩展名上自动运行宏

时间:2019-06-14 08:19:58

标签: vba

Sheet-DropDown Sheet-Input 请参考图片和代码 我有一个按钮“ Refresh DropDown Validation”,通过单击按钮“ Refresh DropDown Validation”将“ Dropdown”表的A列中的值分配给“ Input”表的A列中的值。 当前,此按钮将分配值,直到行号2874(表存在的行)为止。要添加更多条目,用户必须将表格扩展到例如行3000,然后再次单击“刷新下拉列表验证”按钮。在用户单击此按钮之前,行号2875至行号3000将不包含任何导致我出现问题的值 我想要的是,一旦用户将表从2874行扩展到3000行,值就会自动分配。


Set sht = ThisWorkbook.Worksheets("Input")
Set sht1 = ThisWorkbook.Worksheets("DropDown")

LastRow1 = sht.Range("A" & Rows.Count).End(xlUp).Row
'MsgBox LastRow

LastRowAT = sht1.Range("A" & Rows.Count).End(xlUp).Row
'MsgBox LastRowAT


For i = 2 To LastRow1 + 1
    With sht.Range("A" & i).Validation
        .delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
        Operator:=xlBetween, Formula1:="=DropDown!A2:A" & LastRowAT
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = "Value not present in drop down."
        .ShowInput = True
        .ShowError = True
    End With
Next i


0 个答案:

没有答案