Google apps script 试图从另一个选项卡复制值,但不断出现错误;函数getValues()不能用作左侧;

Google apps script 试图从另一个选项卡复制值,但不断出现错误;函数getValues()不能用作左侧;,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我使用我的代码大约一个星期(这已经很慢了),但一直在继续。今天,在尝试运行它时,我得到一条消息“ReferenceError:Function getValues(){/**/}不能用作赋值的左侧或++或--operator的操作数。” 代码如下: function PreenchePlanilha() { var App = SpreadsheetApp; App.getActiveSpreadsheet().getSheetByName('MacroH

我使用我的代码大约一个星期(这已经很慢了),但一直在继续。今天,在尝试运行它时,我得到一条消息“ReferenceError:Function getValues(){/**/}不能用作赋值的左侧或++或--operator的操作数。”

代码如下:

    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).setValues() = valores;
App.getActiveSpreadsheet().getActiveSheet().getRange(k,31,1,11).setValues(valores);

我做错了什么?

我成功地完成了!我不得不改变这条线路

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());

谢谢你的帮助

获取值,然后在顶部设置一个范围,然后尝试使用范围设置值…
App.getActiveSpreadsheet().getActiveSheet().getRange(k,31,1,11).getValues()=helpMacro.getRange(i,6,1,11)我会冒险说这是导致问题的线路。前半部分(
App.getActiveSpreadsheet().getActiveSheet().getRange(k,31,1,11).getValues()
)是一条有效语句(尽管如果不声明一个变量来保存值,它是无用的)。该语句的后半部分
helpMacro.getRange(i,6,1,11)
仅声明一个范围,将
getValues()
设为任何值都是毫无意义的,更不用说范围了。请共享一份电子表格副本。关于
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());