Так работает, потому что это написано в коде. В вашем коде явно указано, что он должен выполняться, только если activeCell равен «X4». Поэтому я не уверен, действительно ли вам это нужно, если да, сообщите нам, чего вы пытаетесь достичь там, иначе удалите эту часть, как здесь.
function setItemList(){
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var arquivoItens = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('ArquivoItens');
var activeCell = ss.getActiveCell();
var versao = ss.getRange("AD4");
var itemList = arquivoItens.getRange('B2:B');
if(ss.getSheetName() === "EditarItem"){
var arrayValues = itemList.getValues();
var rangeRule = SpreadsheetApp.newDataValidation().requireValueInList(arrayValues);
activeCell.setDataValidation(rangeRule);
Logger.log(itemList);
}
}
Также вы не упомянули, какой триггер он должен работать, потому что если это триггер, основанный на времени, тогда нет смысла использовать ссылки Activesheet или ActiveCell.