【问题标题】:Input data at scanner in cycle at Google Script for Google Sheets在 Google Script for Google Sheets 中循环扫描仪输入数据
【发布时间】:2021-09-13 08:00:41
【问题描述】:

我想在 Google 工作表中设置一个“for”循环,以便在 A1 列中插入数据,然后在 B1 列中插入数据。 A2、B2 列中的下一个条目。 但不允许选择下一个单元格。 一般来说,如果有人知道如何设置稍后在 A 列然后 B 列中输入数据的过程,也许没有宏,请帮助我。谢谢 :) 我做了什么......


function MCOMANDAV3() {
  var spreadsheet = SpreadsheetApp.getActive();
  var cell = spreadsheet.getRange('input!A2');
  var stop = spreadsheet.getActiveCell();
  var ui = SpreadsheetApp.getUi(); // Same variations.
  var ranges =  spreadsheet.getActiveRangeList().getRanges();
  for (cell; cell != stop; cell.getNextDataCell) {
      spreadsheet.getRange('2:2').activate();
  spreadsheet.getActiveSheet().insertRowsBefore(spreadsheet.getActiveRange().getRow(), 1);
  spreadsheet.getActiveRange().offset(0, 0, 1, spreadsheet.getActiveRange().getNumColumns()).activate();
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('input'), true);
  spreadsheet.getRange('A2').activate();
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('rezultat'), true);
  spreadsheet.getRange('A2').activate();
  spreadsheet.getRange('input!A2').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('input'), true);
  spreadsheet.getRange('A3').activate();
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('rezultat'), true);
  spreadsheet.getRange('B2').activate();
  spreadsheet.getRange('input!A3').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('input'), true);
  spreadsheet.getRange('2:2').activate();
  spreadsheet.getActiveSheet().deleteRows(spreadsheet.getActiveRange().getRow(), spreadsheet.getActiveRange().getNumRows());
  spreadsheet.getRange('2:2').activate();
  spreadsheet.getActiveSheet().deleteRows(spreadsheet.getActiveRange().getRow(), spreadsheet.getActiveRange().getNumRows());
  }
}


【问题讨论】:

标签: javascript excel google-apps-script google-sheets


【解决方案1】:
function onEdit(event){
  var sh = event.source.getActiveSheet();
  var cell = event.source.getActiveRange();
  if (sh.getName()=='mySheet' && cell.getColumn()<3){
    var row=cell.getRow()
    if (cell.getColumn()==1){
      sh.getRange('B'+row).activate()
    }
    else {
      sh.getRange('A'+(row+1)).activate()
    }
  }
}

https://docs.google.com/spreadsheets/d/1GkIPFv5FeJ8VjjI-pgBddim7SRsCcCCbhhdJ3g2R8G8/edit?usp=sharing

【讨论】:

  • 谢谢!这对我帮助很大:)
猜你喜欢
  • 1970-01-01
  • 2015-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-25
  • 2015-12-23
  • 1970-01-01
相关资源
最近更新 更多