我是使用excel宏vba的新手,我在下拉列表中列出数据时遇到问题。我想创建一个下拉列表,并在一行记录中有一个逗号,但我的代码将它分开。这是我的代码。
代码:
Dim ShipAddress As String
Dim MyList5() As String
ReDim MyList5(ShipAddressCount)
For h = 1 To ShipAddressCount
ShipAddress = rsShipAddress!ShippingAddress
MyList5(h) = ShipAddress
rsShipAddress.MoveNext
Next
With Range("E4:E" + cnt).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, Formula1:=Join(MyList5, ",")
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
当列表中有“name,name”的下拉记录时,它将计为两行。我希望列表中的记录在一行中有逗号。你们都有其他办法来解决这个问题吗?
任何帮助将不胜感激。谢谢。
答案 0 :(得分:0)
您可以将您的值放入一列单元格中,将其设置为命名范围(我通常使用" DrpDwn _"以显示它们是下拉列表)然后使用该点您在命名范围内的列表。
e.g。如果您的命名范围是" DrpDwn_Shipping"然后你会使用Formula1:="=DrpDwn_Shipping"
这种方法的问题当然是你需要一个专栏和一个专栏;每个不同下拉列表的命名范围,最好是在非常隐藏的工作表上。