Excel 影响如何添加验证的超链接
我注意到,若我在另一列的验证列表之前向表列添加超链接,它将影响如何添加验证列表 例如:Excel 影响如何添加验证的超链接,excel,vba,Excel,Vba,我注意到,若我在另一列的验证列表之前向表列添加超链接,它将影响如何添加验证列表 例如: RangeTarget(c, r).Hyperlinks.Add Anchor:=RangeTarget(c, r), Address:=hyperlink, TextToDisplay:="Link" 还有一个: RangeTarget(c, r).Validation.Add Type:=xlValidateList, Formula1:=celldata 如果我不添加超链接,celldata可以用“
RangeTarget(c, r).Hyperlinks.Add Anchor:=RangeTarget(c, r), Address:=hyperlink, TextToDisplay:="Link"
还有一个:
RangeTarget(c, r).Validation.Add Type:=xlValidateList, Formula1:=celldata
如果我不添加超链接,celldata可以用“,”分隔,如果我添加超链接,celldata可以用“;”分隔作为excel的本地分隔符。
请有人重试并确认
实际代码如下:
RngTarget(2 + i, mvaln).Hyperlinks.Add Anchor:=RngTarget(2 + i, mvaln), Address:=rsrows(j, i), TextToDisplay:="Link"
RngTarget(2 + i, mvaln).Validation.Add Type:=xlValidateList, Formula1:=rsrows(j, i)
我假设它会影响RngTarget范围,如果我同时使用它。我假设如果我在中间重新定义了RngTarget,那么我就可以用“,”分隔项目。所以我猜在添加超链接后,范围中有一些隐藏的区域设置正在更改
编辑:
好的,我把问题简化成这个。
如果我在添加验证列表之前在
RngTarget(2+I,mvaln)
上添加.ClearHyperlinks,它显然会通过“,”字符而不是“;”分隔列表所以基本上如果有人知道这是否是一个bug
我在表上运行此操作(选择2列后):
Test1将正确列出下拉项,而test2不会。对于test2,我必须使用“;”分隔符。
在添加验证后向列添加超链接不会影响这一点。此外,这不仅在桌子上,而且在射程上都被窃听
Sub test()
Selection.ClearHyperlinks
Selection.Validation.Delete
Selection.Columns(2).Validation.Add Type:=xlValidateList, Formula1:="a, b, c, d, e"
End Sub
Sub test2()
Selection.ClearHyperlinks
Selection.Validation.Delete
Selection.Columns(1).Hyperlinks.Add Anchor:=Selection.Columns(1), Address:="no address", TextToDisplay:="Link"
Selection.Columns(2).Validation.Add Type:=xlValidateList, Formula1:="a, b, c, d, e"
End Sub