Excel это не сложно

Основные форумы => Вопросы по работе в Google-таблицах => Тема начата: Eugene83 от 19.01.2023, 10:39:03



Название: Макрос на поиск и замену в определённых столбцах
Отправлено: Eugene83 от 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("");
и т.д.


Название: Re:Макрос на поиск и замену в определённых столбцах
Отправлено: Дмитрий Щербаков(The_Prist) от 19.01.2023, 11:53:28
Код: (vb)
var sheet = SpreadsheetApp.getActiveSpreadsheet().getRange("F1:G");
var textFinder = sheet.createTextFinder("ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ"); 
textFinder.replaceAllWith("ООО");