@Andmakssc

Как прописать скрипт на несколько столбцов?

У меня получилось прописать скрипт на одну колонку. вот он:
function onEdit(e) {
var sheet = e.source.getActiveSheet();
var idCol = e.range.getColumn();
var idRow = e.range.getRow();
if ( idCol == 2 && sheet.getName() =='Лист1' ) {
var Value = e.range.offset(1, +5).getValues(); 
if ( Value == "" ) {

var vartoday = getDate();



sheet.getRange(idRow, 6).setValue( vartoday );

}
}
}

// Returns YYYYMMDD-formatted date.
function getDate() {
var today = new Date();
today.setDate(today.getDate());
//return Utilities.formatDate(today, 'PST', 'yyyy.MM.dd');
return Utilities.formatDate(today, 'GMT+03:00', 'yyyy.MM.dd');
}

Мне нужно в нескольких разных колонках автозаполнение даты и резерв (данные ввожу в разные дни). То есть, допустим, ввожу в 1 столбец (ячейку) — появляется дата в 2 столбце (ячейке). И так же ввожу в 10 столбец (ячейку) — дата появляется в 13 столбце (ячейке). И так далее. Скажите, можно как-то в одной таблице продублировать этот скрипт на разные столбцы, просто заменив значение столбцов?
  • Вопрос задан
  • 39 просмотров
Решения вопроса 1
ProgrammerForever
@ProgrammerForever
Учитель, автоэлектрик, программист, музыкант
Не совсем понял по вопросу что надо сделать, но вот такой код попробуйте - есть варианты столбцов (1,10 и т.п.) и варианты им соответствующих столбцов(2,13 и т.п.)
function onEdit(e) {
    var sheet = e.source.getActiveSheet();
    var idCol = e.range.getColumn();
    var idRow = e.range.getRow();
	const colsSource = [1,10];// Столбцы исходные
	const colsDestination = [2,13];// Столбцы назначения
    if (sheet.getName() == 'Лист1' && (colsSource.indexOf(idCol)!=-1)) { //Лист1 и idCol есть в colsSource
        var Value = e.range.offset(1, +5).getValues();
        if (Value == "") {
            var vartoday = getDate();
			const destinationCol = colsDestination[colsSource.indexOf(idCol)];
            sheet.getRange(idRow, destinationCol).setValue(vartoday);
        }
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы