I have a table which looks like this:

I want to copy the first two columns of data and insert them before the EOF, but empty them before the paste. The end result should look like this:

So far, my code looks like this:
function insertCols() { //Insert new column var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getActiveSheet(); var rangeToCopy = sheet.getRange(1,1,20,2).getValues(); rangeToCopy[0][0] = ""; rangeToCopy.fill(null,2); var copyDest = sheet.getRange(1,11,20,2); copyDest.activate(); copyDest.insertCells(SpreadsheetApp.Dimension.COLUMNS); copyDest.setValues(rangeToCopy); } The .setValues line throws the error:
Exception: The number of columns in the data does not match the number of columns in the range. The data has 0 but the range has 2.
What's going on, and how can I alter my code to get the desired result?