Попытка скопировать значения из другой вкладки, но постоянно получаю сообщение об ошибке "функция getValues ​​() не может использоваться в качестве левой части" - PullRequest
1 голос
/ 01 ноября 2019

Я использовал свой код около недели (который был уже очень медленным), но продолжал. Сегодня, пытаясь запустить его, я получаю сообщение «ReferenceError: Function function getValues ​​() {/ * * /} не может использоваться в качестве левой части присваивания или в качестве операнда оператора ++ или -. "

Вот код:

    function PreenchePlanilha()
    {
      var App = SpreadsheetApp;
      App.getActiveSpreadsheet().getSheetByName('MacroHelp').getRange(1,1).activate();
      var helpMacro = App.getActiveSpreadsheet().getActiveSheet();
      var i = 250;
      var j = 1;
      var k = 1;
      while (helpMacro.getRange(i,5).getValue() != "")
      {
      if(helpMacro.getRange(i,17).getValue() == "")
      {
        while (helpMacro.getRange(j,20).getValues().toString() != helpMacro.getRange(i,5).getValues().toString())
        {
          j = j+1;
        }

        var aba = helpMacro.getRange(j,21).getValue();
        var valores = helpMacro.getRange(i,6, 1, 11);
        var email = helpMacro.getRange(i,1).getValue();

        App.getActiveSpreadsheet().getSheetByName(aba).getRange(1,1).activate();
        var cols = contalinha();

        while (App.getActiveSpreadsheet().getActiveSheet().getRange(k,8).getValue() != email && k <= cols)
        {
          k = k + 1;
        } 

        App.getActiveSpreadsheet().getActiveSheet().getRange(k,31,1,11).getValues() = helpMacro.getRange(i,6, 1, 11);
        App.getActiveSpreadsheet().getSheetByName("MacroHelp").getRange(i,17).activate();
        App.getActive().getCurrentCell().setValue('Feito');
        }
        i++;
        j = 1;
        k = 1;

      }



}


function contalinha() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('A1').activate();
  spreadsheet.getCurrentCell().getNextDataCell(SpreadsheetApp.Direction.DOWN).activate();
  var cols = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getActiveRange().getRow();
  return cols;
};

Я попытался заменить строку

App.getActiveSpreadsheet().getActiveSheet().getRange(k,31,1,11).getValues() = helpMacro.getRange(i,6, 1, 11);

Я попробовал оба эти кода, ни один не работает:

App.getActiveSpreadsheet().getActiveSheet().getRange(k,31,1,11).setValues() = valores;
App.getActiveSpreadsheet().getActiveSheet().getRange(k,31,1,11).setValues(valores);

Что я делаю не так?

1 Ответ

0 голосов
/ 04 ноября 2019

Мне удалось это сделать! Мне пришлось изменить эту строку

App.getActiveSpreadsheet().getActiveSheet().getRange(k,31,1,11).getValues() = helpMacro.getRange(i,6, 1, 11)

и изменить ее следующим образом:

App.getActiveSpreadsheet().getActiveSheet().getRange(k,31,1,11).setValues(helpMacro.getRange(i,6, 1, 11).getValues());

Спасибо за помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...