【发布时间】:2022-07-06 15:24:37
【问题描述】:
我在工作表m_listA2 中有一系列下拉列表,如下所示
"abc"
"def"
"ghi"
我使用下面的代码在Sheet1 创建了下拉列表。单击按钮时执行这些代码行。
Dim lastRowNo
lastRowNo = ws.Cells(Rows.Count, 2).End(xlUp).Row
Dim id As String
id = "def"
With Worksheets("Sheet1").Range("A1").Validation
.Delete
.Add Type:=xlValidateList, _
Operator:=xlEqual, _
Formula1:="=m_list!" & Range("A2", "A" & lastRowNo).Address
End With
Range("A1").Value = id
在最后一行,我尝试将下拉列表设置为自动选择"def",但下拉列表没有选择它。"def" 在手动单击时可用。
【问题讨论】:
-
您正在设置 V12?
-
抱歉,打错字了。应该是
A1 -
不要使用单元格的隐式引用 - 而是使用显式:例如
worksheets("Sheet1").range("A1").value = id -
@Ike 谢谢!这样可行。我会记得在处理许多工作表时继续使用显式引用
标签: excel vba validation