A
alexas
Всё можно сделать в Input translation - юзер не будет напрягаться контролем ввода:
Разбирать лучше не по-символьно, а по группам символов, добавив ":" к проверяемой строке справа.
Далее replace "::" на ":" - исключаем случай ошибочного ":" в конце (к примеру, юзер ввёл А1: и всё)
Далее последовательный разбор строки по группам вида "A...B1:" (опираясь на ":" как разделитель групп)
"Неправильные" символы просто не давал бы вводить (реплейсить их в пробел и трим)
Отреплейсить "А":"В":"Р":"У":"Е" и т.д. кирилицы на соответствующие им по написанию латиницу.
Берём только первую и вторую группы (что-бы отсечь возможную ошибку ввода - третью или более группы)
переставляем цифры и буквы в группе, если надо
Проверяем, что получились группы вида "A...B1:" т.е. что только одно число и оно в конце. Если нет - реплейсим все неконечные цифры в пробел и трим.
удаляем последний ":" (который ранее добавили)
На вскидку, я бы делал как-то так.
Добавлено:
Разбирать лучше не по-символьно, а по группам символов, добавив ":" к проверяемой строке справа.
Далее replace "::" на ":" - исключаем случай ошибочного ":" в конце (к примеру, юзер ввёл А1: и всё)
Далее последовательный разбор строки по группам вида "A...B1:" (опираясь на ":" как разделитель групп)
"Неправильные" символы просто не давал бы вводить (реплейсить их в пробел и трим)
Отреплейсить "А":"В":"Р":"У":"Е" и т.д. кирилицы на соответствующие им по написанию латиницу.
Берём только первую и вторую группы (что-бы отсечь возможную ошибку ввода - третью или более группы)
переставляем цифры и буквы в группе, если надо
Проверяем, что получились группы вида "A...B1:" т.е. что только одно число и оно в конце. Если нет - реплейсим все неконечные цифры в пробел и трим.
удаляем последний ":" (который ранее добавили)
На вскидку, я бы делал как-то так.
Добавлено:
Из "несущесвующих" ячеек строки эхель вернёт пустоту, по-моему. Это и контролировать ( т.е. вести запись "наоборт" - от конца к началу строки)И если пользователь указал ячейку в диапазона "A1:XXXXXX", то говорить: "а тут такой нет"