javascriptgoogle-sheetsgoogle-apps-scriptsyntax-error

Getting error on a switch script - Syntax error: SyntaxError: Unexpected token '{' line: 8 file: Code.gs


I have this script that moves rows from 1 main sheet to different destination sheets within my spreadsheet.

I got recommended to use switch that I think makes sense but I'm getting this error because of the brackets.

I have looked it through and I can't see why I get this error.

Here is the code down below

function allInOne(e) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var r = e.range;
  var sheet = range.sheet;
  var sheetName = sheet.getName();
  if (e.value != "") {
    if (sheetName == "Pipe") {
      switch (r.getColumn() {
          case 7:

            var row = r.getRow();
          var numColumns = s.getLastColumn();
          var targetSheet = ss.getSheetByName("Ã…terkomster");
          var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
          s.getRange(row, 2, 1, numColumns).moveTo(target).range.clearContent();

          // 
          // do column 7 tasks
          break;

          case 8:

            var row = r.getRow();
          var numColumns = s.getLastColumn();
          var targetSheet = ss.getSheetByName("Bokad");
          var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
          s.getRange(row, 2, 1, numColumns).moveTo(target).range.clearContent();

          // 
          // do column 8 tasks
          break;

          case 13:

            var row = r.getRow();
          var numColumns = s.getLastColumn();
          var targetSheet = ss.getSheetByName("Bokad");
          var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
          s.getRange(row, 2, 1, numColumns).moveTo(target).range.clearContent();

          // 
          // do column 13 tasks
          break;

          default:
          // do nothing because the edit is happening on a column we don't want to watch
          return;

        }
      }
    }
  }


Solution

  • You're missing a parenthesis in the switch statement. It should read:

    switch (r.getColumn()) {