Откройте редактор сценариев (меню «Инструменты»), вставьте его, сохраните и обновите свой лист.Вам нужно будет одобрить дополнение к меню, когда вы попытаетесь запустить его.
function onOpen(e) {
SpreadsheetApp.getUi()
.createMenu('My Menu')
.addItem('Store Active Sheet Name', 'getActiveSheetName')
.addToUi();
}
function getActiveSheetName() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var active_sheet = ss.getActiveSheet();
var active_sheet_name = active_sheet.getSheetName();
var target_sheet_name = 'Original';
var target_sheet = ss.getSheetByName(target_sheet_name);
var range = target_sheet.getRange(target_sheet.getMaxRows(),target_sheet.getMaxColumns());
range.setValue(active_sheet_name);
}
РЕДАКТИРОВАТЬ: Вы должны обязательно объяснить, почему что-то не работает.Вы проверили исполнение?Какое было сообщение об ошибке?Что случилось, когда это не сработало?Он изменил неправильную ячейку или значение или даже не запустился из-за ошибки в коде?Ответ на эти вопросы при обращении за помощью позволит другим помочь вам лучше.
Вы скопировали функцию getLastRowInColumn из другого ответа, но она содержит некоторые ошибки и не будет работать, если есть пустые ячейки.Попробуйте функцию ниже, которая находит первую строку снизу, которая не имеет пустых ячеек, то есть последнюю строку с данными, и она также работает, если диапазон не только один столбец.
Также выпоставить имя листа в качестве первого аргумента этой функции.Это должен быть лист объект , target_sheet.
function getLastRowInColumn(sheetObj, column_range) {
var values = sheetObj.getRange(column_range).getValues();
for (var index = values.length - 1; index >= 0; index--) {
var row_array = values[index];
if (row_array.join("") !== "") return index + 1;
}
return 0;
}