我已经通过VBA创建了一个下拉列表。有时它会将所有选项显示为单个选项。有时在工作表之间切换可以解决问题,有时却不能!这是代码:
Dim arr1(8) As String
arr1(0) = "EURUSD"
arr1(1) = "GBPUSD"
arr1(2) = "USDCHF"
arr1(3) = "USDJPY"
arr1(4) = "USDCAD"
arr1(5) = "AUDUSD"
arr1(6) = "NZDUSD"
arr1(7) = "XAUUSD"
With Range("C" & 1).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=Join(arr1, ",")
End With
感谢您在此问题上的任何帮助。
似乎类似于List Separator
设置(控制面板|区域选项)不是Comma (,)
。例如,如果您的语言环境设置为德国,那么我想您的列表分隔符将为Semicolon (;)
。在VBE中,键入?Application.International(xlListSeparator)
以快速检查您的List Separator
。
如果从Data
选项卡手动进行操作,请使用正确的List Separator
。例如YES;NO
如果您通过VBA进行操作,请使用Application.International(xlListSeparator)
在您的代码中,将Formula1:=Join(arr1, ",")
替换为Formula1:=Join(arr1, Application.International(xlListSeparator))