逗号分隔符:使用excel宏

时间:2018-02-02 05:33:29

标签: excel vba excel-vba

我是使用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”的下拉记录时,它将计为两行。我希望列表中的记录在一行中有逗号。你们都有其他办法来解决这个问题吗?

任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:0)

您可以将您的值放入一列单元格中,将其设置为命名范围(我通常使用" DrpDwn _"以显示它们是下拉列表)然后使用该点您在命名范围内的列表。

e.g。如果您的命名范围是" DrpDwn_Shipping"然后你会使用Formula1:="=DrpDwn_Shipping"

这种方法的问题当然是你需要一个专栏和一个专栏;每个不同下拉列表的命名范围,最好是在非常隐藏的工作表上。