Namokonov

Untitled

May 22nd, 2021
406
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function onEdit(e) {
  2.   const ss = e.source;
  3.   const sh = ss.getActiveSheet();
  4.   const range = e.range;
  5.   if (sh.getName() == 'Пример 1' && range.rowStart == 1 && range.columnStart == 1) {
  6.     Set_the_Name_by_Phon_Number()
  7.   }
  8.  
  9. }
  10.  
  11. var config_Set_the_Name_by_Phon_Number = {
  12.   sheetSender: { // Блок таблицы отправителя
  13.     sheetName: 'Пример 2', // Имя листа
  14.     range: 'D9', // Диапазон данных которые нужно достать, (параметр указывать в текстовом формате)
  15.     //colCheck :  10, // Колонка проверки на пустоту (сравнивает значения столбца с пустой строкой и отфильтровывает),
  16.     cols: [1]  // Номера колонок которые будут выгружены в исходном массиве
  17.   },
  18.   sheetRecipient: { // Блок таблицы получателя
  19.     sheetName: 'Пример 2', // Имя листа
  20.     startRow: 4, // Номер стартовой строки для записи данных
  21.     startCol: 4 // Номер стартового столбца для записи данных
  22.   }
  23. }
  24.  
  25. function Set_the_Name_by_Phon_Number() {
  26.   var config = config_Set_the_Name_by_Phon_Number;
  27.   const ss = SpreadsheetApp.getActive();
  28.   var senderValues = ss.getSheetByName(config.sheetSender.sheetName).getRange(config.sheetSender.range).getValues();
  29.   var arr = [];
  30.  
  31.   for (var i = 0; i < senderValues.length; i++) {
  32.     var row = senderValues[i];
  33.     if (row[config.sheetSender.colCheck - 1] == '') continue;
  34.     var mas = [];
  35.     config.sheetSender.cols.forEach(function (val) { return mas.push(row[val - 1]) });
  36.     arr.push(mas);
  37.   }
  38.  
  39.   var sheetRecipient = ss.getSheetByName(config.sheetRecipient.sheetName);
  40.   if (arr.length !== 0) sheetRecipient.getRange(config.sheetRecipient.startRow, config.sheetRecipient.startCol, arr.length, arr[0].length).setValues(arr);
  41.   SpreadsheetApp.flush();
  42.   return true;
  43. }
  44.  
Advertisement
Add Comment
Please, Sign In to add comment