【发布时间】:2014-09-14 19:35:45
【问题描述】:
如何将 activeX 组合框添加到“列表名称”列中,直到网格的最后一行?知道在网格中唯一总是充满值的列是“C Type”
我试过这个:
For Each Ws In ActiveWorkbook.Sheets
With Ws
'adding the validation dropdown
Col_num = .Range("A1").End(xlToRight).Column
Set MyRange = .Range(.Cells(1, 1), .Cells(1, Col_num)).Cells.Find("List Name")
Set FullRange = .Range(.Cells(1, 1), .Cells(1, Col_num)).Cells.Find("C Type")
'LastLine = .Range(FullRange).End(xlDown).Row
LastLine = .Cells(2, FullRange).End(xlDown).Row
Do Until IsEmpty(LastLine)
If Not MyRange Is Nothing Then
With Ws.Columns(MyRange.Column).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=Liste
.IgnoreBlank = True
.InCellDropdown = True
End With
End If
Loop
End With
Next Ws
但它在此行中给出错误“对象_worksheet的方法范围失败”:
LastLine = .Range(FullRange).End(xlDown).Row 。 当我尝试以下操作时,它给了我错误“类型不匹配” LastLine = .Cells(2, FullRange).End(xlDown).Row
有人可以帮忙吗?
【问题讨论】:
标签: excel combobox activex excel-2007 vba