3
我具有下面的VBA功能。这是建立在给定的细胞下拉使用范围公式时丢失下拉值
Public Sub CORE_SetValidation(ByRef Rng As Range, ByVal Value As String)
With Rng.Validation
Call .Delete
If Value <> "" Then
Call .Add(Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:=Value)
.ErrorMessage = "Please select a value from drop-down list"
.ErrorTitle = "Value Error"
.IgnoreBlank = True
.InCellDropdown = True
.InputMessage = ""
.InputTitle = ""
.ShowInput = True
.ShowError = True
End If
End With
End Sub
当我用逗号分隔值值传递给这一点,所有的整个列
dictkeystring = "1,2,3,4,5,6,7,8,9"
CORE_SetValidation(Sourcews.Columns(AllocationSheet_Prj_COLUMN).EntireColumn, dictkeystring)
但是当我通过它的做工精细值使用范围公式,它不工作。
dictkeystring = "=PrjList!A2:A6"
CORE_SetValidation(Sourcews.Columns(AllocationSheet_Prj_COLUMN).EntireColumn, dictkeystring)
问题是,对于每个单元我缺少一个值;在第一列中缺少一个VAL,第二单元失踪2 VAL,第三失踪3个值,......经过一番的地方,我丢失了所有的值,空下拉我得到
非常感谢,很好的解释 – ManiMuthuPandi