Отец попросил помочь по Exel
Создана: 18 Июля 2012 Срд 11:53:11.
Раздел: "Нужна помощь"
Сообщений в теме: 96, просмотров: 6464
-
а я в нём плаваю
Суть задачи
Есть в Excel 1 столбец.
Содержание ячейки – цифры и буквы.
Всегда начинается не с буквы.
«Стандартный» вариант – цифры, буквы, цифры , черточки – пример - 12 Бг1, 2 Пц 48, 3Аз11, 7-Вл -2 и тд.
Необходимо, идя слева направо – перед первой буквой «вставить» черточку, после последней буквы «вставить» черточку (несмотря на то, что идет ПЕРЕД ПЕРВОЙ БУКВОЙ и что идет ПОСЛЕ последней буквы). Между буквами нет пробелов. -
Mad Hatter писал(а)
: Пароль на VBA вообще не защита, код вытаскивается за пять минут. Кастомные таблички об ошибках тоже не помогут.
давно смотрел
видел только метод подбора пароля
это не вариант если пароль сложный
один раз вопрос стоял очень остро, из-за одного уволившегося программиста :) помню что тогда решить положительно не получилось -
Чё-то я подумал, что задача, наверное, решается штатными методами и в случае неограниченной длины строки
И даже изящнее.
1. Заменяем ВСЕ нецифры на какой-нить один символ. Ну пусть, например, это будет большая латинская A, потому что число 65 я помню наизусть еще со времен когда пешком под стол ходил
2. Находим ее ПЕРВОЕ появление в получившемся тексте
3. Начиная с этой точки ищем первое появление в оставшемся тексте любой цифры (0...9)
Возвращаемся с этими двумя значениями к процессу склейки текста (исходного, разумеется) и черточек -
Аскар писал
:давно смотрел
видел только метод подбора пароля
это не вариант если пароль сложный
один раз вопрос стоял очень остро, из-за одного уволившегося программиста :) помню что тогда решить положительно не получилось
Устарело уже, теперь файл через троян в памяти открывается (т.е. идет патч приложения в памяти) и пароль получается как будто пустым. Собственно, на сколько я слышал, можно и сам xls файл отредактировать для схожего эффекта. -
Эрхафан писал
: Чё-то я подумал, что задача, наверное, решается штатными методами и в случае неограниченной длины строки
И даже изящнее.
1. Заменяем ВСЕ нецифры на какой-нить один символ. Ну пусть, например, это будет большая латинская A, потому .....
ждем изящного решения именно этой фразы, причем незабудте про служебные. математические, непечатные и конечно же буквенные символы, да и не факт что буквенные символы ограничатся кирилицей и латиницей.... :)
ладно немного теории
красиво это - регулярные выражения
[внешняя ссылка]
не помню что бы Excel активно использовал данный механизм в штатных методах, но если я не прав просвятите
хотя - давно обсуждаемый вопрос, и вроде все уже сошлись во мнении что нет регулярки в екселовских формулах
[внешняя ссылка]
да без регулярки только программировать -
Аскар писал
:ждем изящного решения именно этой фразы, причем незабудте про служебные. математические, непечатные и конечно же буквенные символы, да и не факт что буквенные символы ограничатся кирилицей и латиницей.... :)
Так наоборот же проверять, ёптыть - если НЕцифрыТо бишь если код цифры, то оставляем как есть. Если нет - заменяем
И это не то "изящество", которое ты имеешь в виду, разумеется.
Да кто спорит с этим-то?Просто ты заявил, что штатными ВООБЩЕ не решить задачу. Я сперва показал, что решить при наличии ограничения длины строки можно, а теперь вот имею версию, что и ограничение особой роли не играет.
-
Эрхафан писал
:
Так наоборот же проверять, ёптыть - если НЕцифрыТо бишь если код цифры, то оставляем как есть. Если нет - заменяем
в цикле это понятно, т.е. в макросе
мы тут про изящные решения говорим, одно или конечное число формул
только регулярка -
Аскар писал
:мы тут про изящные решения говорим
Еще раз намекну - изящнее по сравнению с 42мя столбиками
UPD А, нет, ты прав, неправильно я прочитал описание одной функции! Без ограничения всё ж никак, нету НИКАКОЙ регулярки в ЭкселеНо с ограничением - можно! Ура!
-
-
Вскрытый файл. Ограничение вместо 33 строк теперь 25000
[внешняя ссылка] -
-
убрать просто это условие
будет проверять до первой пустой ячейки -
-
блин блин блин. спасибо ОГРОМНОЕ