Копировать определенные ячейки из ряда в определенные ячейки на другом листе? - PullRequest
1 голос
/ 06 марта 2019

Я создаю player базу данных. Каждый player имеет свою собственную строку с некоторыми данными, которые я собираю. Когда я добавляю новую строку для нового player, у меня настроен сценарий, который будет создавать отформатированный лист для каждого нового player в той же книге и присваивать ему имя на основе столбца Name.

Как получить определенные ячейки из их ряда и скопировать их в определенное место назначения на их уникальный лист player?

Например:

Col A: идентификатор игрока | Col B: Имя | Col C: электронная почта |

Как только этот новый игрок будет добавлен на лист Database, будет создан новый лист с их Name. Как скопировать информацию в их строке в определенные ячейки листа Name (На листе Name player ID переходит на C3, Name - на C4, email - на D5)

Вот что у меня есть, но я не знаю, как скопировать данные из новой строки в определенные ячейки нового листа:

function addFormattedSpreadsheet() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sh = ss.getActiveSheet();
  var row = sh.getActiveRange().getRowIndex();
  var rData = sh.getRange(row, 1, 1, 3).getValues();
  
  var templateCopy = ss.getSheetByName('Template');
  
  if (row == 1) {
    ss.toast("This is the header");    
    return //This sends the user an error if the first row is selected when the script is activated
  }

  if(rData[0][0] != null || rData[0][1] != null || rData[0][2] != null) {
    try {
      ss.insertSheet(rData[0][2], {template: templateCopy}); //Creates the new sheet
      ss.setActiveSheet(ss.getSheets()[0]); //sets the first roster sheet as the active sheet
      //Not sure what this does:
      sh.getRange("D"+(row)).setValue(new Date());
    } catch(e) {
      throw 'This player already exists.';      
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...