I am using the following short macro to assign Data Validation as a list of characters:
Sub DVList() With ActiveCell.Validation .Delete .
A far as I could test, you can't escape , in list.
,
But you can reference a range. You can build a range (in, eg, a hidden sheet), fill cells with all possibilities and make Formula1 := "=HiddenSheet!A1:A10.
Formula1 := "=HiddenSheet!A1:A10