Excel 使用范围公式时缺少下拉列表值
我有下面的VBA功能。这是为了在给定单元格中创建下拉列表Excel 使用范围公式时缺少下拉列表值,excel,vba,macos,Excel,Vba,Macos,我有下面的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:=xlValidAlertS
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 = "=PrjList!A2:A6"
CORE_SetValidation(Sourcews.Columns(AllocationSheet_Prj_COLUMN).EntireColumn, dictkeystring)
问题是,对于每个单元格,我缺少一个值;在第一列中缺少一个值,第二个单元格缺少2个值,第三个单元格缺少3个值,。。。在某个地方我丢失了所有的值,我得到的是空的下拉列表
我不知道为什么会发生此错误,我可以解决此范围内的公式吗
"=PrjList!$A$2:$A$6"
如果没有$
,则定义的范围地址是“相对的”,因此它将与范围中的单元格一起“滑动”。i、 e.第二行的验证将是A3:A7
,依此类推
地址中的
$
指示Excel修复验证范围,因为它是一个绝对地址。非常感谢,解释得很好
"=PrjList!$A$2:$A$6"