简体   繁体   English

Google Sheets onEdit - 尝试通过更改同一行中列的值将一行复制到新工作表

[英]Google Sheets onEdit - trying to copy a row to a new sheet by changing the value of a column within that same row

Please see Sheet1 of my spreadsheet:请参阅我的电子表格的 Sheet1:

https://docs.google.com/spreadsheets/d/1EoOIQxWyKWOvtlCrmJNI76FAxGhzgXrE4s0F05tw2MY/edit#gid=0 https://docs.google.com/spreadsheets/d/1EoOIQxWyKWOvtlCrmJNI76FAxGhzgXrE4s0F05tw2MY/edit#gid=0

As an example, I would like to copy the values (not formulas) of A3:G3 to the bottom row of the 'Master' sheet by changing the value in H3 to "submitResponse."例如,我想通过将 H3 中的值更改为“submitResponse”,将 A3:G3 的值(不是公式)复制到“主”表的底行。 Then, once that row is copied, I would like to automatically clear out cell H3, as well as range A2:G2 (the row ABOVE the row that was copied) because these will be variables that the user edits to adjust A3:G3 before it gets copied.然后,一旦复制了该行,我想自动清除单元格 H3 以及范围 A2:G2(复制的行上方的行),因为这些将是用户编辑以调整 A3:G3 之前的变量它被复制了。

To help, here is a script that @Cooper built for me to push me in the right direction:为了提供帮助,这是@Cooper 为我构建的一个脚本,可将我推向正确的方向:

function onEdit(e){
  var sh=e.range.getSheet();
  if (sh.getName()=='Sheet1' && e.range.columnStart==8 && e.range.rowStart>1 && e.value=="submitResponse") {
    var msh=e.source.getSheetByName("Master");
    msh.appendRow(sh.getRange(e.range.rowStart,1,1,7).getDisplayValues()[0]);
  }
}

from this previous question: Modifying a flexible Google Sheets onEdit script to accommodate a wider range of inputs来自上一个问题: 修改灵活的 Google 表格 onEdit 脚本以适应更广泛的输入

Update:更新:

function onEdit(e){ 
  var done = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange('Y:Y'); 
  var sh=e.range.getSheet(); 
  if (sh.getName()=='submit' && e.range.columnStart==25 && e.range.rowStart>1 && e.value=="submit") { 
    var msh=e.source.getSheetByName("db"); 
    msh.appendRow(sh.getRange(e.range.rowStart,1,1,24).getDisplayValues()[0]); 
    done.clearContent(); 
  } 
 }

Update 2:更新 2:

function onEdit(e){
  var submitColumn = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange('Y:Y');
  var rowAbove = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange('J11:L11');
  var sh=e.range.getSheet();
  if (sh.getName()=='submit' && e.range.columnStart==25 && e.range.rowStart>1 && e.value=="submit") {
    var msh=e.source.getSheetByName("db");
    msh.appendRow(sh.getRange(e.range.rowStart,1,1,24).getDisplayValues()[0]);
    submitColumn.clearContent();
    rowAbove.ClearContent();
  }
}

Solution解决方案

With Update 2 you were really close to solve this issue.使用Update 2 ,您非常接近解决这个问题。 However, you had a typo, replace:但是,您有一个错字,请替换:

rowAbove.ClearContent();

with

rowAbove.clearContent();

I hope this has helped you.我希望这对你有所帮助。 Let me know if you need anything else or if you did not understood something.让我知道您是否需要其他任何内容,或者您是否不理解某些内容。 :) :)

暂无
暂无

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

相关问题 将 A 列的单行 onEdit 复制到“新建”到另一个 Google 电子表格 - 不是同一工作表中的选项卡 - Copy a single row onEdit of Column A to "New" to another Google spreadsheet - NOT tab in the same sheet 将基于单元格值的行数据复制到 Google 表格中的新工作表 - Copy row data based on cell value to new sheet in Google Sheets Google脚本(将行复制到onEdit的其他工作表上) - Google script (copy row to other sheet onEdit) 谷歌脚本将特定列从一张纸复制到另一张纸上的最后一行 - Google Script to copy specific columns from one sheet to another sheets last row onEdit 如何使用 zapier 自动将填充有 zapier 的新行的值复制到具有 google 工作表的同一工作簿中的另一个工作表? - How to automaticaly copy values of a new row populated with zapier to another sheet in same workbook with google sheets? 在 Google 表格中,如何将基于特定列值的行复制到新选项卡中,然后将 append 复选框复制到该行? - In Google Sheets, how can I copy a row based on a specific column value into a new tab, and then append checkboxes to the row? 根据条件和单元格值将行复制到 Google 表格上的另一张表格 - Copy row to another sheet on Google Sheets based on criteria and cell value Google Sheets - 根据下拉值将行移动到新工作表 - Google Sheets - Move row to new sheet based on drop down value 从谷歌工作表复制 A1 值并复制到其他谷歌工作表 B 列中的第一个空行 - Copy A1 value from google sheet and copy to first empty row in column B of other google sheet 将行复制到单独的电子表格onColumn的编辑 - Copy row to separate spreadsheet onEdit of column
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM