繁体   English   中英

动态下拉列表

[英]Dynamic Drop-down list

我正在尝试从位于工作表(“历史数据”)中的表中的 A 列创建一个动态下拉列表。

此工作表会不断更新添加新行,我希望自动更新我的下拉列表。

我制作了一个动态范围LastRow = Sheets("Historical Data").Range("A3").End(xlDown).Row ,我试图将其放入公式中。

这是我到目前为止编写的代码:

LastRow = Sheets("Historical Data").Range("A3").End(xlDown).Row
Worksheets("Chart").Activate
Range("C1").Select

With Selection.Validation
    .Delete
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=Historical Data!$A$3:A" & LastRow & ")"        
End With

我想从 header 行做另一个下拉菜单。 我做了另一个动态范围; 这是代码,但它不起作用(我对 VBA 很陌生):

LastColumn = Sheets("Historical Data").Cells(2, Sheets("Historical Data").Columns.Count).End(xlToLeft).Column
Range("G1").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="='Historical Data'!$T$2:" & LastColumn & "2"

出现应用程序定义或对象定义的错误

有2个问题

  1. 正如@TimStack 提到的,你最后有一个额外的括号
  2. 您在工作表名称中有一个空格,因此您必须使用单引号填充它。

尝试这个

Formula1:="='Historical Data'!$A$3:A" & LastRow

注意:由于您已经拥有删除重复项的代码,因此我不会解决该查询。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM