2015-10-19 2 views
0

Я хотел бы создать уникальный идентификатор в столбце A, если столбец B изменился в каждой строке с 6-го. Достаточно было бы использовать число от 1 до X в качестве идентификатора, но оно не должно меняться после перемещения строки. Тем не менее, я получаю сообщение об ошибке «Не могу вызвать метод getRange« null ».Электронная таблица Google «Невозможно вызвать метод getRange» null »

function onEdit() { 
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('ScriptTest'); 
var column0 = sheet.getRange(6, 2, sheet.getLastRow()-6, 1); 
var oValues = column0.getValues(); 

if (oValues[sheet.getLastRow()][0] == '') { 
    sheet.getRange(sheet.getLastRow(), 1, 1, 1).setValue(ContentService.createTextOutput(sheet.getLastRow()-6)); 
} 
} 
+1

- это скрипт, проверяющий имя вкладки или документа? Вам необходимо указать имя текущего листа, а не документ в getSheetByName(). –

+0

Это название вкладки, которая также является текущим рабочим листом. Спасибо за ваш ответ! – MagicDragon

+0

Это странно. можете ли вы поставить точку останова в строке, где вы объявляете столбец0, а затем запустить функцию в режиме отладки, пожалуйста? Имеет ли он лист как объект с идентификатором в скобках? Вы уверены, что имя вкладки - ScriptTest, а не Scripttest или Script Test или scriptTest? –

ответ

2

Если у вас есть ошибки с работой с листовыми объектами, как здесь вы можете легко определить источник в виде недостающего значения он тянет из.

undefined не определено, что означает, что переменная для листа никогда не давалась значение или была установлена ​​как неопределенная.

переменная устанавливается в null, когда вы пытаетесь получить вкладку по имени, которое не существует, так как случай здесь.

Любое другое, вероятно, означает, что вы обращаетесь к неправильной переменной.

+0

Только что начал использовать скрипт приложения Google, помогая улучшить мои навыки! – MagicDragon

Смежные вопросы