В VBA Excel позволяет сортировать значения с помощью параметра CustomOrder, чтобы выбрать порядок элементов последовательности. К сожалению, последовательность элементов разделена запятыми, и один из элементов сортировки содержит запятые. Например, я хочу отсортировать данные в первом столбце по категориям во втором столбце. Воздух, Киберпространство Data2 Киберпространство Data3 Data4 Воздух, Земля или Море Data5 Aerospace Data6 Воздух, Земля или Море Киберпространство Data7
Если вы записываете макрос VBA, созданный код выглядит следующим образом:
MyWorksheet.Sort.SortFields.Add Key:=Range( _
"B:B"), SortOn:=xlSortOnValues, Order:=xlAscending, _
CustomOrder:= "Cyberspace,Air,Land,or Sea,Aerospace", _
DataOption:=xlSortNormal
MyWorksheet.Sort.Apply
Таким образом, пользовательский порядок сортировки должен быть «Киберпространство», затем «Воздух, Земля или Море», затем «Аэрокосмическая промышленность». Однако вторая категория рассматривается как три категории из-за запятых. Строки с «Воздух, Земля или Море» сортируются вниз, потому что Excel не находит для них пользовательского соответствия сортировки. Есть ли способ заставить CustomOrder работать с категорией, содержащей встроенные запятые?
Я попытался заключить категорию в двойные кавычки и попытался заменить запятые-разделители на точки с запятой (в надежде, что Excel примет точку с запятой вместо запятой. ). Ни то, ни другое не помогло.