Excel это не сложно
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
09.02.2023, 06:10:49

Войти
Интересные и полезные статьи по работе с Excel и VBA можно найти в разделе ХИТРОСТИ
32 961 Сообщений в 5 382 Тем от 6 572 Пользователей
Последний пользователь: iliya
*
Перейти на сайт Хитрости Надстройка MulTEx Обучающие тренинги Наша группа ВКонтакте
Правила форума Начало Помощь Поиск Календарь Войти Регистрация Выйти
+  Excel это не сложно
|-+  Основные форумы
| |-+  Вопросы по работе в Google-таблицах
| | |-+  Макрос на поиск и замену в определённых столбцах
Страниц: [1]   Вниз
Печать
Автор Тема: Макрос на поиск и замену в определённых столбцах  (Прочитано 85 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Eugene83
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 1


Просмотр профиля
« : 19.01.2023, 10:39:03 »

Добрый день!
Столкнулся с проблемой. Возможно сможете подсказать.
Есть общая гугл-табличка. Люди переносят в неё данные.
Чтобы у неё был более-менее нормальный вид, я использовал нижеприведённый макрос. Нажимал кнопку и продолжал свои дела.
Просто добавлял новые ИНН/КПП в него и всё. Но когда табличка и список ИНН/КПП увеличились в разы, макрос стал выдавать ошибку по времени выполнения.
Сейчас макрос сканирует весь лист. А как сделать так, чтобы он работал только в столбцах "F" и "G".
Я перепробовал разные варианты. При каких-то он выделяет эти два столбца и если я снимаю выделение с них, то он не работает.
Заранее спасибо за помощь.

Код: (vb)

function myFunction() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var textFinder = sheet.createTextFinder("ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ");
textFinder.replaceAllWith("ООО");
var textFinder = sheet.createTextFinder("ЗАКРЫТОЕ АКЦИОНЕРНОЕ ОБЩЕСТВО");
textFinder.replaceAllWith("ЗАО");
var textFinder = sheet.createTextFinder("АКЦИОНЕРНОЕ ОБЩЕСТВО");
textFinder.replaceAllWith("АО");
var textFinder = sheet.createTextFinder("ГЕНЕРАЛЬНЫЙ ПОДРЯДЧИК");
textFinder.replaceAllWith("ГП");
var textFinder = sheet.createTextFinder("ГРУППА КОМПАНИЙ");
textFinder.replaceAllWith("ГК");
var textFinder = sheet.createTextFinder("ТОРГОВО-ПРОИЗВОДСТВЕННАЯ КОМПАНИЯ");
textFinder.replaceAllWith("ТПК");
var textFinder = sheet.createTextFinder(" 2222333333/11111111");
textFinder.replaceAllWith("");
var textFinder = sheet.createTextFinder(" 3333444444/22222222");
textFinder.replaceAllWith("");
var textFinder = sheet.createTextFinder(" 4444555555/33333333");
textFinder.replaceAllWith("");
и т.д.
Записан
Дмитрий Щербаков(The_Prist)
Администратор
Ветеран
*****

Репутация: +482/-0
Офлайн Офлайн

Сообщений: 5 738



Просмотр профиля WWW
« Ответ #1 : 19.01.2023, 11:53:28 »

Код: (vb)
var sheet = SpreadsheetApp.getActiveSpreadsheet().getRange("F1:G");
var textFinder = sheet.createTextFinder("ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ"); 
textFinder.replaceAllWith("ООО");
Записан

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Пункты приёма Спасибов:    -41001332272872  -R298726502453
Страниц: [1]   Вверх
Печать
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Яндекс.Метрика Рейтинг@Mail.ru