
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
20.09.2005, 10:31:57
|
|||
|---|---|---|---|
(Excel) Изменение формата ячейки при поиске и замене. |
|||
|
#18+
Версия OfficeXP SP3, Windows XP SP1. Есть столбец, все ячейки которого содержат данные типа "Текстовое". В этом столбце мне нужно поудалять все пробелы, точки, тире и т.д. оставить только числа и буквы. Так вот, когда я делаю поиск и замену (Ctrl+H), то при замене значений, когда конечный результат похож на число - ячейка автоматически становится числового типа. А если я удаляю ненужные мне символы ручками, через редактирование ячейки, то тип ячейки не изменяется. Где грабли? Пример для понимания: Есть текстовая ячейка 003.225 После поиска и замены получается 3225 а должно получиться 003225 ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.09.2005, 12:36:40
|
|||
|---|---|---|---|
(Excel) Изменение формата ячейки при поиске и замене. |
|||
|
#18+
Если все записи одного типа: ХХХ.ХХХ, то заполни любой свободный столбец формулой =ЛЕВСИМВ(A1;3) & ПРАВСИМВ(A1;3) . Затем скопируй полученные значения и вставь в исходный столбец через "Специальная вставка - только значения". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.09.2005, 13:07:41
|
|||
|---|---|---|---|
(Excel) Изменение формата ячейки при поиске и замене. |
|||
|
#18+
Нет, все записи имеют различный формат, и нет единого формата, которым можно описать содержимое ячеек. Нужно оставить буквы английского алфавита и цифры, остальное(точки, тире, слэши и т.д.) - удалить. Пока что вижу решение - это загнать все в Access, там удалить и опять вернуть в Excel - но как-то криво получается. ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.09.2005, 15:07:07
|
|||
|---|---|---|---|
(Excel) Изменение формата ячейки при поиске и замене. |
|||
|
#18+
Создайте модуль в VBA и впишите туда следующую функцию: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Затем используйте её по описанному во втором посте алгоритму. Константа MyChars содержит список символов подлежащих удалению дополните её сами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.09.2005, 15:42:10
|
|||
|---|---|---|---|
(Excel) Изменение формата ячейки при поиске и замене. |
|||
|
#18+
2 100g Спасибо, помогло. Единственное - я никогда не работал с VBA и не программировал под мелкософт, но прочел ман - подключил модуль и функцию. Строк нужно обработать 50 000 - очень сильно задумывается функция, однако. И сразу вопрос, а регулярными выражениями VBA умеет работать? ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.09.2005, 16:16:13
|
|||
|---|---|---|---|
(Excel) Изменение формата ячейки при поиске и замене. |
|||
|
#18+
Не понял вопрос М:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.09.2005, 16:28:08
|
|||
|---|---|---|---|
(Excel) Изменение формата ячейки при поиске и замене. |
|||
|
#18+
4m@t!cИ сразу вопрос, а регулярными выражениями VBA умеет работать? В моей книжке по VBA про это не написано. Сам я тоже не находил такого. Так что боюсь что нет, этож не перл и не пхп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.09.2005, 08:18:58
|
|||
|---|---|---|---|
(Excel) Изменение формата ячейки при поиске и замене. |
|||
|
#18+
4m@t!c 2 100g ...очень сильно задумывается функция, однако. ---------------------------------------- Артисты не приехали, приехали цыгане Да я когда писАл уже думал об этом, просто это первое, что пришло в голову. А здачка вообще полезная. Может кто ещё напишет какое-нибудь решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.09.2005, 10:14:47
|
|||
|---|---|---|---|
(Excel) Изменение формата ячейки при поиске и замене. |
|||
|
#18+
Решение может быть в том, чтобы не использовать в константе MyChars символы, которые точно не используются, например, русские буквы. Это сильно сократит цикл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.09.2005, 10:27:20
|
|||
|---|---|---|---|
(Excel) Изменение формата ячейки при поиске и замене. |
|||
|
#18+
авторРешение может быть в том, чтобы не использовать в константе MyChars символы, которые точно не используются, например, русские буквы. Это сильно сократит цикл. Да, я именно так и сделал, когда крутил эту функцию - русских букв у меня не было. ИМХО, регулярными выражениями все было бы быстрее. P.S. Для меня был удивителен сам факт, что тип ячейки может изменяться из-за поиска и замены. ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.09.2005, 11:07:40
|
|||
|---|---|---|---|
(Excel) Изменение формата ячейки при поиске и замене. |
|||
|
#18+
4m@t!cДля меня был удивителен сам факт, что тип ячейки может изменяться из-за поиска и замены. На самом деле, если открыть по Ctrl+H окно поиска и замены, а затем открыть дополнительное меню Параметры, там напротив полей ввода искомого и заменяемого есть такая кнопка, как формат ячейки. Но почему-то при ее включении у меня ничего не находятся :) Может у тебя заработает? Попробуй! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.09.2005, 11:11:18
|
|||
|---|---|---|---|
(Excel) Изменение формата ячейки при поиске и замене. |
|||
|
#18+
Точнее. Либо не находится, либо находится, но не заменяется. Чудеса да и только! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.09.2005, 11:44:22
|
|||
|---|---|---|---|
(Excel) Изменение формата ячейки при поиске и замене. |
|||
|
#18+
Да фидел я эти форматы - я так понял - это маска поиска. Если в строке "Заменить на" указать что-то, то все честно заменяется, но мне нужно удалять символы, т.е. в этой строке у меня пусто. И поиск происходит без удаления.. Да ладно, сдела функцией, как подсказал 100g и все случилось. Я в Экселе очень редко работаю. Вообщем нужно быть бдительным при замене значений, потому что может потеряться информация - вот, что нужно запомнить. ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.09.2005, 11:44:45
|
|||
|---|---|---|---|
(Excel) Изменение формата ячейки при поиске и замене. |
|||
|
#18+
Кстати, "Найти и заменить" работает примерно с той же скоростью. Я запускал. Так что ничего лучше ты не придумаешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.09.2005, 13:24:57
|
|||
|---|---|---|---|
(Excel) Изменение формата ячейки при поиске и замене. |
|||
|
#18+
Задача усложнилась. ;))) Нужно еще удалять некоторые вхождения строк. Т.е. посимвольное сравнение не проходит...;))) ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.09.2005, 13:44:04
|
|||
|---|---|---|---|
(Excel) Изменение формата ячейки при поиске и замене. |
|||
|
#18+
Вторым параметром нужно передать массив строк, которые нужно удалить. В VBA ноль. Прошелся по ману - не нашел. Подскажите, пожалуйста: Как передать в функцию массив, размер которого заренее неизвестен? ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.09.2005, 14:37:48
|
|||
|---|---|---|---|
(Excel) Изменение формата ячейки при поиске и замене. |
|||
|
#18+
4m@t!cКак передать в функцию массив, размер которого заренее неизвестен? Не знаю Как делать Правильно, но я пользуюся типом Variant. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=61&tablet=1&tid=2185728]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
53ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 192ms |
| total: | 309ms |

| 0 / 0 |
