Всех приветствую! Подскажите пожалуйста, в макросах не силен. Пример: https://docs.google.com/spreads....sharing смысл такой: чтобы по условию в столбце А макрос преобразовывал в столбце В формулы в числа. Если в ячейке А1:A установлено значение "1", тогда в соответствующей ячейке в столбце B1:B формулу преобразовать в число. В примере есть макрос, который преобразует все формулы в столбце, где стоит курсор. Подскажите пожалуйста как внедрить условие благодарю
Всех приветствую! Подскажите пожалуйста, в макросах не силен. Пример: https://docs.google.com/spreads....sharing смысл такой: чтобы по условию в столбце А макрос преобразовывал в столбце В формулы в числа. Если в ячейке А1:A установлено значение "1", тогда в соответствующей ячейке в столбце B1:B формулу преобразовать в число. В примере есть макрос, который преобразует все формулы в столбце, где стоит курсор. Подскажите пожалуйста как внедрить условие благодарюГорЫнЫ4
немного усложним задачу - чтобы макрос заменял формулы на значения во всех столбцах, у которых в заголовке стоит цифра 2 (ну и остается то же условие чтобы в 1 строке была цифра 1) Подскажет может кто?)))) теоретически можно перебрать сначала столбцы, если найти столбец, то внутри этой процедуры запустить процедуру по строкам. Вот что у меня получается. Но ничего не работает(( то ли столбец не правильно ищу [vba]
Код
function test3() { let ss = SpreadsheetApp.getActiveSpreadsheet(); let sheet = ss.getSheetByName("Лист1");
let stolbec_dat = sheet.getRange("A:A").getValues() let stroca_zagolovkov = sheet.getRange("1:1").getValues() let poizk_daty = 1; let poisk_prodazh = 2;
let nyzhnaya_stroka; let nyzhny_stolbec; for(let s = 0; s<stroca_zagolovkov.length;s++){ if(stroca_zagolovkov[s].indexOf(poisk_prodazh)!== -1){ nyzhny_stolbec = s+1;
немного усложним задачу - чтобы макрос заменял формулы на значения во всех столбцах, у которых в заголовке стоит цифра 2 (ну и остается то же условие чтобы в 1 строке была цифра 1) Подскажет может кто?)))) теоретически можно перебрать сначала столбцы, если найти столбец, то внутри этой процедуры запустить процедуру по строкам. Вот что у меня получается. Но ничего не работает(( то ли столбец не правильно ищу [vba]
Код
function test3() { let ss = SpreadsheetApp.getActiveSpreadsheet(); let sheet = ss.getSheetByName("Лист1");
let stolbec_dat = sheet.getRange("A:A").getValues() let stroca_zagolovkov = sheet.getRange("1:1").getValues() let poizk_daty = 1; let poisk_prodazh = 2;
let nyzhnaya_stroka; let nyzhny_stolbec; for(let s = 0; s<stroca_zagolovkov.length;s++){ if(stroca_zagolovkov[s].indexOf(poisk_prodazh)!== -1){ nyzhny_stolbec = s+1;
function test3m() { var ss = SpreadsheetApp.getActive(); var sheet = ss.getSheetByName("Лист1"); var range = sheet.getDataRange(); var values = range.getValues(); for (var i = 1; i < values.length; i++) { if (values[i][0] == 1) { for (var j = 1; j < values[0].length; j++) { if (values[0][j] == 2) { range.getCell(i + 1, j + 1).setValue(values[i][j]); } } } }
[/vba]
На самом деле всё проще. Попробуйте так: [vba]
Код
function test3m() { var ss = SpreadsheetApp.getActive(); var sheet = ss.getSheetByName("Лист1"); var range = sheet.getDataRange(); var values = range.getValues(); for (var i = 1; i < values.length; i++) { if (values[i][0] == 1) { for (var j = 1; j < values[0].length; j++) { if (values[0][j] == 2) { range.getCell(i + 1, j + 1).setValue(values[i][j]); } } } }