En VBA, Excel permite ordenar valores usando el parámetro CustomOrder para elegir la secuencia de los elementos pedidos. Lamentablemente, la secuencia de elementos está delimitada por comas y uno de mis elementos de ordenación contiene comas. Por ejemplo, quiero ordenar los datos en la primera columna por las categorías en la segunda columna. La categoría "Aire, tierra o mar" contiene comas.Codifique una clasificación VBA de Excel con un orden personalizado y un valor que contenga comas
Data1 Aerospace Data2 Cyberspace Data3 Cyberspace Data4 Air, Land, or Sea Data5 Aerospace Data6 Air, Land, or Sea Data7 Cyberspace
Si graba una macro de VBA, el código creado se ve así:
MyWorksheet.Sort.SortFields.Add Key:=Range(_
"B:B"), SortOn:=xlSortOnValues, Order:=xlAscending, _
CustomOrder:= "Cyberspace,Air,Land,or Sea,Aerospace", _
DataOption:=xlSortNormal
MyWorksheet.Sort.Apply
Por lo tanto, el orden personalizado debe ser "ciberespacio" y luego "aire, tierra o Mar ", luego" Aeroespacial ". Sin embargo, la segunda categoría se trata como tres categorías debido a las comas. Las filas con "Aire, tierra o mar" se clasifican en la parte inferior porque Excel no encuentra una coincidencia de clasificación personalizada para ellas. ¿Hay alguna forma de que CustomOrder funcione con una categoría que contiene comas incrustadas?
Traté de poner comillas dobles alrededor de la categoría y traté de reemplazar las comillas del delimitador por punto y coma (con la esperanza de que Excel acepte un punto y coma en lugar de una coma). Ninguno funcionó.
Mi ejemplo original no era muy claro. Por favor lea la pregunta actualizada. –
@ Dean Hill Actualizado mi respuesta. –
Esta solución funcionó perfectamente para mí. Gracias. –