Aparece el error "Esta operación no es compatible con una función de devolución de llamada" al transponer la matriz

Primero disculpas por esta pregunta, pero GAS es una nueva sintaxis para mí. Me gustaría hacer algo que sea simple en la sintaxis de VBA, pero no en GAS.

Quiero transponer un rango con nombre a otro rango con nombre (por ejemplo, de 4 filas a 4 columnas) en diferentes hojas de trabajo. Hay ejemplos en la web que usan .getDataRange () pero deseo usar un rango con nombre fijo, ya sea que haya datos contenidos o no.

La sintaxis con la que estoy jugando es la siguiente:

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())); 

Tomar 4 filas desde un punto fijo en una hoja de trabajo de formulario de entrada (wksInput) a 4 columnas en la última fila de una hoja de trabajo de conjunto de registros / base de datos (wksDB)

DóndetransposeRange es:

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

El error es:

Esta operación no es compatible con una función de devolución de llamada.

¿Que esta mal aquí?

Respuestas a la pregunta(1)

Su respuesta a la pregunta