繁体   English   中英

如何使用谷歌表格中的应用程序脚本在单元格中插入自动数据?

[英]How to inset automatic data in Cells using app script in google sheet?

在此处输入图像描述

`

var blankRow=datasheet.getLastRow()+1;
    
    datasheet.getRange(blankRow,6).setValue(shUserForm.getRange("B3").getValue()); 
    datasheet.getRange(blankRow,5).setValue(shUserForm.getRange("F3").getValue()); 
    datasheet.getRange(blankRow,7).setValue(shUserForm.getRange("D3").getValue()); 
   datasheet.getRange(blankRow,8).setValue(shUserForm.getRange("F4").getValue()); 
   /////////////////////////////////////////////////////////////////////////////////
    datasheet.getRange(blankRow,2).setValue(shUserForm.getRange("B7").getValue());
    datasheet.getRange(blankRow,3).setValue(shUserForm.getRange("E7").getValue());
   datasheet.getRange(blankRow,4).setValue(shUserForm.getRange("F7").getValue()); 
   
   if(shUserForm.getRange("C7").isBlank()==false){  
    var blankRow2=datasheet.getLastRow()+1;

datasheet.getRange(blankRow2,6).setValue(shUserForm.getRange("B3").getValue()); 
    datasheet.getRange(blankRow2,5).setValue(shUserForm.getRange("F3").getValue()); 
    datasheet.getRange(blankRow2,7).setValue(shUserForm.getRange("D3").getValue()); 
   datasheet.getRange(blankRow2,8).setValue(shUserForm.getRange("F4").getValue()); 
   /////////////////////////////////////////////////////////////////////////////////
    datasheet.getRange(blankRow2,2).setValue(shUserForm.getRange("C7").getValue());
    datasheet.getRange(blankRow2,3).setValue(shUserForm.getRange("E7").getValue());
   datasheet.getRange(blankRow2,4).setValue(stock.getRange("T3").getValue()); 
    }
    if(shUserForm.getRange("D7").isBlank()==false){  
    var blankRow3=datasheet.getLastRow()+1;

datasheet.getRange(blankRow3,6).setValue(shUserForm.getRange("B3").getValue()); 
    datasheet.getRange(blankRow3,5).setValue(shUserForm.getRange("F3").getValue()); 
    datasheet.getRange(blankRow3,7).setValue(shUserForm.getRange("D3").getValue()); 
   datasheet.getRange(blankRow3,8).setValue(shUserForm.getRange("F4").getValue()); 
   /////////////////////////////////////////////////////////////////////////////////
    datasheet.getRange(blankRow3,2).setValue(shUserForm.getRange("D7").getValue());
    datasheet.getRange(blankRow3,3).setValue(shUserForm.getRange("E7").getValue());
   datasheet.getRange(blankRow3,4).setValue(stock.getRange("U3").getValue()); 

    }

`

我已经使用此代码将第一行数据从工作表插入到另一张工作表,我需要插入更多行而不重复最后一个代码。

使用Sheet.getRangeList()Array方法,如下所示:

  let firstCellA1 = 'B7';
  ['D7', 'C7', 'B7',].some(rangeA1 => {
    if (shUserForm.getRange(rangeA1).getDisplayValue()) {
      firstCellA1 = rangeA1;
      return true;
    }
  });
  const data = shUserForm
    .getRangeList([firstCellA1, 'E7', 'F7', 'F3', 'B3', 'D3', 'F4',])
    .getRanges()
    .map(range => range.getValue());
  datasheet.appendRow([new Date()].concat(data));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM