0 / 0 / 0
Регистрация: 20.09.2014
Сообщений: 7
1

Заменить один символ на другой на всех листах рабочей книги

20.09.2014, 22:45. Показов 22193. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток!
Помогите, кто в курсе.

В excel нужен макрос замены одного символа на другой (к примеру замена буквы "ё" на букву "е" на всех листах) , устал пользоваться комбинацией Ctrl+H на каждом листе, хочется кнопочкой)
Искал ответ в похожих темах, но ни один вариант не подошел.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.09.2014, 22:45
Ответы с готовыми решениями:

Найти итоги из всех листов другой книги и записать в факт для всех выделенных значений рабочей книги
Написал макрос для проверки итогов с фактом. Как запустить всё это по циклу? Чтоб отрабатывался для...

Заменить один символ на другой
Нужно заменить ":" символ на "-" и посчитать количество даных замен. Мой код: .model tiny .code...

Заменить один символ строки на другой
Моя программа считывает текстовый файл, в котором хранятся пути к нужным файлам, но при записи в...

Заменить в строке один символ на другой
Составить программу, заменяющую в строке один заданный символ на другой. Строку и символы вводить с...

20
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
21.09.2014, 01:21 2
Зачем же на каждом? Меняйте сразу во всей книге - поищите там в подменюшках...
0
призрак
3262 / 890 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
21.09.2014, 11:56 3
Hugo121, "во всей книге" - это не для каждой версии.
Maiki, у Вас какая версия Excel?
0
1 / 1 / 1
Регистрация: 02.05.2014
Сообщений: 20
22.09.2014, 00:02 4
В 2010)
Миниатюры
Заменить один символ на другой на всех листах рабочей книги  
0
Заблокирован
22.09.2014, 01:12 5
Лучший ответ Сообщение было отмечено Maiki как решение

Решение

Без разницы какая версия, у меня код состоит из кода..
а не из каких-то чудесных свойств разных версий
Кликните здесь для просмотра всего текста



Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Option Explicit
 
Sub Start()
    Dim sh, s$, j$()
    On Error GoTo errr
    s = InputBox("Введите что, на что заменять, например е-ё", , "е-ё")
    j = Split(s, "-")
    
    For Each sh In Sheets
        sh.Cells.Replace Trim$(j(0)), Trim$(j(1))
    Next
errr:
End Sub
Вложения
Тип файла: xls Лист Microsoft Excel.xls (29.0 Кб, 61 просмотров)
1
Заблокирован
22.09.2014, 01:18 6
Кликните здесь для просмотра всего текста
ps: версия Excel 2003
0
призрак
3262 / 890 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
22.09.2014, 01:58 7
Цитата Сообщение от Антихакер32 Посмотреть сообщение
Без разницы какая версия, у меня код состоит из кода..
реально ржач.
Цитата Сообщение от Антихакер32 Посмотреть сообщение
j = Split(s, "-")
функция Split была в VBA не всегда.
0
Заблокирован
22.09.2014, 02:15 8
Цитата Сообщение от ikki Посмотреть сообщение
функция Split была в VBA не всегда.
да причем здесь ваши догадки ?.. это базовая функция Split и Join
у меня она была всегда, там важно даже не это,

а результат замены..
и работа этой части кода..
Visual Basic
1
2
3
    For Each sh In Sheets
        sh.Cells.Replace "ё", "е"
    Next
который заменяет символы во всех страницах книги..

ТС, так и подумает, да это не заработает можно не проверять, а я, зря старался
0
призрак
3262 / 890 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
22.09.2014, 02:26 9
а причём тут "догадки"?
функции Split нет в Excel 95
это совершенно точно

и, возможно, в 97-м.

ну и ещё на пару моментов Вы наплевали.
1) в файле Excel бывают не только рабочие листы
2)
Цитата Сообщение от F1
Remarks
The settings for LookAt, SearchOrder, MatchCase, and MatchByte are saved each time you use this method. If you don’t specify values for these arguments the next time you call the method, the saved values are used. Setting these arguments changes the settings in the Find dialog box, and changing the settings in the Find dialog box changes the saved values that are used if you omit the arguments. To avoid problems, set these arguments explicitly each time you use this method.
поэтому:
Цитата Сообщение от Антихакер32 Посмотреть сообщение
это не заработает можно не проверять
нет-нет, ничего подобного!
просто это будет работать иногда не для всех листов и иногда срабатывать не так, как ожидал того пользователь.

Добавлено через 2 минуты
мне кажется, последнее предложение требует такого смайлика:
хотя тема, в целом, забавная.
0
Заблокирован
22.09.2014, 02:28 10
Да параметры: LookAt, SearchOrder, MatchCase надо было проставить
но по умолчанию они там уже должны быть, какие надо, я просто укоротил код
чтоб не грузить ТС-а, неоправданной сложностью и разгаворами о несовместимости версий
0
призрак
3262 / 890 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
22.09.2014, 02:29 11
а это?
Цитата Сообщение от ikki Посмотреть сообщение
в файле Excel бывают не только рабочие листы
0
Заблокирован
22.09.2014, 02:35 12
Будем надеятся, ТС нас рассудет, будут ли у его книги и рабочие и нерабочие листы
на которых он устал расставлять точки над Ё

Добавлено через 1 минуту
хотя вы могли бы предложить и свой безкомпромиссный вариант, в таком случае
0
призрак
3262 / 890 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
22.09.2014, 02:51 13
мог бы.
но я свой вопрос автору темы задал.
Цитата Сообщение от ikki Посмотреть сообщение
Maiki, у Вас какая версия Excel?
ответа пока нет.
а в случае, если это Excel 2007+, никакого макроса вообще не надо.
0
Заблокирован
22.09.2014, 02:58 14
Да уж... жаль, и прослетить за ним трудно, у него всего один вопрос был на форуме
хотя тут один из пользователей чтото упомянул в 4-м посте может он уже ответил заместо Maiki, остается считать ответом исключительно мой пост
0
призрак
3262 / 890 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
22.09.2014, 03:09 15
пост #2 - тоже вполне себе ответ.
0
Заблокирован
22.09.2014, 03:13 16
Кликните здесь для просмотра всего текста

Цитата Сообщение от Hugo121 Посмотреть сообщение
поищите там в подменюшках...
Ну да, лучший ответ, поучитесь как надо отвечать ))
0
призрак
3262 / 890 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
22.09.2014, 03:30 17
умение искать ответы самостоятельно - самое главное.
хотя научить этому бывает непросто.

Добавлено через 1 минуту
начать можно и с "поиска в подменюшках"
0
Заблокирован
22.09.2014, 03:34 18
Ну вот давайте, расскажите об несовместимостях версий,
выложите разные варианты интерпритации кода..
и объясните пользователю, что не так в 95-м 97, 2003, 2007 и тд версиях
чего Вам стоит, я и сам потом Вам спасибку поставлю
0
призрак
3262 / 890 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
22.09.2014, 03:38 19
неее, не надо меня "подначивать".
я тут со скуки флудю сегодня, да и то - между делом.
не буду я писать код в этой теме.
он давным-давно написан и есть во многих надстройках, в т.ч. бесплатных.
да и в виде кода - завались примеров.
это, конечно, для тех, кого, в гугле не забанили.
а с 2007-й версии - это штатная возможность программы.

зачем писать ненужное?
0
0 / 0 / 0
Регистрация: 20.09.2014
Сообщений: 7
22.09.2014, 13:08  [ТС] 20
Отличный код, спасибо антихакер, на 2010 работает замечательно, а как его поправить, чтобы окошка не выскакивало? Мне необходимо, чтобы по нажатию на кнопку автоматически менялся определенный символ на другой.
0
22.09.2014, 13:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.09.2014, 13:08
Помогаю со студенческими работами здесь

Как в строке заменить один символ на другой
Здравствуйте Подскажите пожалуйста как в строке можно заменить один символ на другой

Заменить в каждой строке один заданный символ на другой заданный символ
Даны две строки длиной длиной до 80 символов. Заменить в каждой строке один заданный символ на...

Заменить в каждой сроке один заданный символ на другой заданный символ
ПОМОГИТЕ РЕШИТЬ ЗАДАЧУ)) НА ЯЗЫКЕ С!!!!!!! Даны 2 строки до 80 символов. Необходимо Заменить в...

Заменить в каждой строке файла один заданный символ на другой заданный
Добрый день. Товарищи не подскажите как можно заменить символ ; на : чтобы искало в строках точку с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru