无法设置DropDown类的ListFillRangeProperty
我有一个Excel工作簿已经工作,但今天早上已经算了一个错误。
我得到的错误信息是,
运行时错误1004
无法设置DropDown类的ListFillRangeProperty
下面是我的代码 – 错误发生在ws.DropDowns("DropDownStart")
。
DropDownStart和DropDownEnd是我的工作表上的下拉列表的正确名称,所以不知道是什么导致了这个错误。 当我debugging打印我得到的名字
mysheetName!$A$2:$A$338
这是正确的,所有单元格都包含date。 所以有点卡住了!
Dim ws As Worksheet Dim wsTime As Worksheet Set wsTime = ThisWorkbook.Sheets(WSTSJPM) Set ws = ThisWorkbook.Sheets(WSCHARTS) ' get last date Dim lRow As Long lRow = wsTime.Range("A65536").End(xlUp).Row ws.Select ws.DropDowns("DropDownStart").ListFillRange = wsTime.Name & "!" & wsTime.Range("A2:A" & lRow).Address ws.DropDowns("DropDownEnd").ListFillRange = wsTime.Name & "!" & wsTime.Range("A2:A" & lRow).Address
更新意见
我可以手动更改下拉菜单,代码也可以正常更改。 工作簿不被共享。
工作表名称中不包含空格。
我相信我应该在填充范围内使用“=”,除非你知道另一种方法?
DropDown是types列表框的表单控件,位于我的工作表上
另一个问题看起来像表名没有引号。 这段代码似乎适用于我
Sub populatecombobox() Dim ws As Worksheet Dim wsTime As Worksheet Dim lRow As Long Set wsTime = Sheets("WSTSJPM") Set ws = Sheets("WSCHARTS") With wsTime lRow = .Cells(Rows.Count, "A").End(xlUp).Row End With ws.DropDowns("DropDownStart").ListFillRange = "WSTSJPM!$A$2:$A$" & lRow ws.DropDowns("DropDownEnd").ListFillRange = "WSTSJPM!$A$2:$A$" & lRow End Sub