Сортировать строки в алфавитном порядке, игнорируя скобки - PullRequest
0 голосов
/ 17 октября 2019

У меня есть 8 различных входных переменных, которые могут иметь значение или не иметь значения. Они выглядят примерно так:

A= "h"
B= "(z)"
C= "a"
D= ""
E= "[st]"
F= ""
G= "xx"
H= "(t)"

Мне нужно, чтобы они были все вместе в алфавитном порядке, как это (необходимо включить скобки!):

Aim= "a,h,[st],(t),xx,(z)"

Я знаю, каксобрать их в одну строку и как поставить «,» в нужном месте. Что я не могу понять, так это как разместить их в алфавитном порядке и игнорировать скобки при этом.

Редактировать: чтобы исключить значения emtpy и добавить запятые, которые я использую для каждого значения:

If IsEmpty(HH) = False Then HHH = HH.Value & ","

Для их объединения я просто использую функцию "&"

StrHoribez = BBB & CCC & DDD & EEE & FFF & GGG & HHH & III

Чтобы удалить последнюю запятую, я использую:

If Right$(StrHoribez, 1) = "," Then StrHoribez = Left$(StrHoribez, Len(StrHoribez) - 1)

Алфавитная сортировка может происходить между любым изэти шаги.

У кого-нибудь есть идея, как это сделать? Я думаю, может быть что-то с массивом, но у меня нет опыта, используя их. Спасибо за вашу помощь!

1 Ответ

1 голос
/ 17 октября 2019

Использование листа Excel:

  1. Поместить значения в столбец A
  2. Поместить чистые значения без скобок в столбец B
  3. Сортировать по значениям в столбце B
  4. Извлечь отсортированные значения из столбца A, включая скобки

Используя двумерный массив:

  1. Поместить значения в arr (x, 0)
  2. Поместить чистые значения без скобок в arr (x, 1)
  3. Сортировать по чистым значениям
  4. Извлечь отсортированные значения из arr (x, 0), включая скобки

См. Это для многомерной сортировки: Сортировка многомерного массива в VBA

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...