Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets 我的代码中有两个错误_Google Sheets - Fatal编程技术网

Google sheets 我的代码中有两个错误

Google sheets 我的代码中有两个错误,google-sheets,Google Sheets,我想将活动行复制并粘贴到另一个工作表中,但这会导致两个错误: 它无法识别我的输入值 它不会粘贴任何数据并说copyTonotfound function Anunaki() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheetOne = ss.getSheetByName("KEY WORK"); var sheetTwo = ss.getSheetByName("BUGS"); var j =

我想将活动行复制并粘贴到另一个工作表中,但这会导致两个错误:

  • 它无法识别我的输入值
  • 它不会粘贴任何数据并说
    copyTo
    notfound

    function Anunaki() {  
        var ss = SpreadsheetApp.getActiveSpreadsheet();
        var sheetOne = ss.getSheetByName("KEY WORK");
        var sheetTwo = ss.getSheetByName("BUGS");
        var j = sheetTwo.getLastRow() + 1;
        var data = sheetOne.getActiveRange().getValues();
        var columnCount = data[0].length
        var ui = SpreadsheetApp.getUi();
    
        var response = ui.prompt('BUG Confirmation', 'How many Interactions ?', ui.ButtonSet.YES_NO);
    
        if (response === "0")   
        {
            ui.alert('Opps Zero I don\'t believe you, Try again');
        }
        else if (response === "1")
        {
            sheetOne.getRange(1,1,1,columnCount).copyTo(sheetTwo.getRange(j,1,1,columnCount));
        }
        else if (response === "2" ) 
        {
            sheetOne.getRange(1,1,1,columnCount).copyTo(sheetTwo.getRange(j,1,1,columnCount));
        }
        else 
        {
            ui.alert('Please enter a numeric value between 1 to 2');
        }
    }
    

  • 替换代码中的以下行:

    var response = ui.prompt('BUG Confirmation', 'How many Interactions ?', ui.ButtonSet.YES_NO);
    
    致:

    ===================
    编辑: 以下是应能工作的完整代码:

      function Anunaki() {
    
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var sheetOne = ss.getSheetByName("KEY WORK");
      var sheetTwo = ss.getSheetByName("BUGS");
    
      if( ss.getActiveSheet().getName() != sheetOne.getName() )
      return;
    
      var j = sheetTwo.getLastRow() + 1;
      var data = sheetOne.getDataRange().getValues();
      var row = sheetOne.getActiveRange().getRow();
      var columnCount = data[0].length
      var ui = SpreadsheetApp.getUi();
    
      var response = ui.prompt('BUG Confirmation', 'How many Interactions ?', ui.ButtonSet.YES_NO).getResponseText();
    
      if (response === "0") {
        ui.alert('Opps Zero I don\'t believe you, Try again');
      }
    
      else if (response === "1") {
        sheetOne.getRange(row,1,1,columnCount).copyTo(sheetTwo.getRange(j,1,1,columnCount));
      }
    
      else if (response === "2" ) {
        sheetOne.getRange(row,1,1,columnCount).copyTo(sheetTwo.getRange(j,1,1,columnCount));
      }
      else {
        ui.alert('Please enter a numeric value between 1 to 2');
      }
    
    };
    
    注:
    我在脚本中添加了'var row'以获取当前行,该行需要在getRange函数中使用以获取整个行范围的值



    编辑:若要在目标工作表中仅获取值而不获取公式,请尝试以下代码:

    function Anunaki() {
    
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var sheetOne = ss.getSheetByName("KEY WORK");
      var sheetTwo = ss.getSheetByName("BUGS");
    
      if( ss.getActiveSheet().getName() != sheetOne.getName() )
      return;
    
      var j = sheetTwo.getLastRow() + 1;
      var data = sheetOne.getDataRange().getValues();
      var row = sheetOne.getActiveRange().getRow();
      var columnCount = data[0].length
      var ui = SpreadsheetApp.getUi();
    
      var response = ui.prompt('BUG Confirmation', 'How many Interactions ?', ui.ButtonSet.YES_NO).getResponseText();
    
      if (response === "0") {
        ui.alert('Opps Zero I don\'t believe you, Try again');
      }
    
      else if (response === "1") {
        var values = sheetOne.getRange(row,1,1,columnCount).getValues();
        sheetTwo.getRange(j,1,1,columnCount).setValues(values)
      }
    
      else if (response === "2" ) {
        var values = sheetOne.getRange(row,1,1,columnCount).getValues();
        sheetTwo.getRange(j,1,1,columnCount).setValues(values)
      }
      else {
        ui.alert('Please enter a numeric value between 1 to 2');
      }
    
    };
    

    谢谢你的及时回复。现在我有另一个问题,它不是从单元格中获取数据并粘贴到另一张工作表上。它给出了这个错误“在对象中找不到函数copyTo”。您的代码不太清楚,您到底想复制什么?好的,我只想将活动单元格整行的值而不是公式复制到另一个工作表。请注意,如果我再次运行脚本,则不应与第二页中的数据重叠。我已编辑了答案。检查一下,脚本代码现在应该可以根据需要工作了。
    function Anunaki() {
    
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var sheetOne = ss.getSheetByName("KEY WORK");
      var sheetTwo = ss.getSheetByName("BUGS");
    
      if( ss.getActiveSheet().getName() != sheetOne.getName() )
      return;
    
      var j = sheetTwo.getLastRow() + 1;
      var data = sheetOne.getDataRange().getValues();
      var row = sheetOne.getActiveRange().getRow();
      var columnCount = data[0].length
      var ui = SpreadsheetApp.getUi();
    
      var response = ui.prompt('BUG Confirmation', 'How many Interactions ?', ui.ButtonSet.YES_NO).getResponseText();
    
      if (response === "0") {
        ui.alert('Opps Zero I don\'t believe you, Try again');
      }
    
      else if (response === "1") {
        var values = sheetOne.getRange(row,1,1,columnCount).getValues();
        sheetTwo.getRange(j,1,1,columnCount).setValues(values)
      }
    
      else if (response === "2" ) {
        var values = sheetOne.getRange(row,1,1,columnCount).getValues();
        sheetTwo.getRange(j,1,1,columnCount).setValues(values)
      }
      else {
        ui.alert('Please enter a numeric value between 1 to 2');
      }
    
    };