Obtendo o erro “Esta operação não é suportada por uma função de retorno de chamada” ao transpor a matriz

Primeiras desculpas por esta pergunta, mas o GAS é uma nova sintaxe para mim. Gostaria de fazer algo simples na sintaxe do VBA, mas não no GAS.

Desejo transpor um intervalo nomeado para outro intervalo nomeado (por exemplo, de 4 linhas a 4 colunas) em planilhas diferentes. Existem exemplos na Web que usam .getDataRange (), mas desejo usar um intervalo nomeado fixo, independentemente de haver dados contidos ou não.

A sintaxe com a qual estou brincando é a seguinte:

var wksInput = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('New');
var wksDB = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Database');
var intDBNewRow = wksDB.getLastRow() + 1;

wksDB.getRange(intDBNewRow, wksDB.getRange('dbContacts').getColumn(), 1,wksDB.getRange('dbContacts').getNumColumns()).setValues(transposeRange(wksInput.getRange('frmVanContacts').getValues())); 

Tomando 4 linhas de um ponto fixo em uma planilha de formulário de entrada (wksInput) para 4 colunas na última linha de uma planilha de conjunto de registros / banco de dados (wksDB)

OndetransposeRange é:

function transposeRange(a)
{
  return Object.keys(a[0]).map(function (c) { return a.map(function (r) { return r[c]; }); });
}

O erro é:

Esta operação não é suportada por uma função de retorno de chamada.

O que há de errado aqui?

questionAnswers(1)

yourAnswerToTheQuestion