当前位置: 首页 > 知识库问答 >
问题:

选中此复选框时,Google Sheets会将行记录到另一个工作表(同一本书)

江文斌
2023-03-14

让我们从同一本书开始。我有第一张和第二张。

Sheet1包含多行。这些行在D、E、F列中有复选框。

我试图编写一个脚本,当选中复选框F时,它将把整行复制到Sheet2作为运行日志。我在一些我正在“玩弄”的脚本中使用过appendRow,但一直遇到麻烦。

我还看到了一些简单的公式,例如:(这不适用于我需要做的事情)[当选中Google Sheets中的复选框时,复制另一个工作表中的行

那不记录。如果Sheet1中的行永远不会被删除,那就太好了。但是,行可能会不时被删除。所以当选中Sheet1上的F时,我真的需要它来复制/记录到Sheet2。

我已经谷歌搜索了几天,现在还没有找到任何由特定单元格(或列中的单元格)触发的谷歌工作表日志。

另外,我是“愚蠢的黑客”,一些代码试图得到一个onEdit函数来检查F。我非常有兴趣学习:)

共有1个答案

寿毅庵
2023-03-14

我建议您熟悉谷歌应用程序脚本,该脚本允许您检测OneEdit,或者检查复选框(如果是,则检查哪一个)。如果复选框位于感兴趣的列中,则if语句将帮助您复制数据。

在花一些时间研究应用脚本留档后,您可以根据需要调整以下示例脚本:

function onEdit(){
  var ss=SpreadsheetApp.getActive();
  var sheet1=ss.getSheetByName("Sheet1");
  var sheet2=ss.getSheetByName("Sheet2");
  var cell=SpreadsheetApp.getActiveRange();
  if(SpreadsheetApp.getActiveSheet().getName()=="Sheet1" && cell.getColumn()==6 && cell.getValue() == true){
    Logger.log('bla');
    var row=cell.getRow();
    var range=sheet1.getRange(row,1,1,sheet1.getLastColumn());
    range.copyTo(sheet2.getRange((sheet2.getLastRow()+1),1));
  }
}
 类似资料:
  • 问题内容: 我在购物车上工作,人们需要在同一页面上填写2个类似的表格。第一个表格是帐单地址,第二个表格是收货地址。两种形式都包含相似的输入元素,例如: a)帐单邮寄地址:姓名,地址行1,地址行2,国家/地区,电话等。 b)送货地址:姓名,地址行1,地址行2,国家/地区,电话等。 有一个复选框,上面写着“检查账单地址和送货地址是否相同”。因此, 即使仅选中此复选框, 我也需要将数据从帐单地址复制到送

  • 试图从当前工作簿“Create Report.xlsm”中复制工作表名称“Headings Explantions”,该工作簿打开到我要求打开的工作簿中,我得到了下标超出范围的错误

  • 问题内容: 我想通过将记录从一张桌子移到另一张桌子来对学生进行归档。这是我尝试使用的代码: 我遇到的问题是我遇到错误: 致命错误:XX行/archive-student.php中的内存不足(已分配80478208)(试图分配80216043字节) 除了有一个名为archive的列并从0更改为1之外,是否有其他方法可以执行此操作?这是因为我有30-50页选择表的记录。:) 问题答案: 就那么简单。

  • 有人知道如何在Googlesheets中将一行从一张工作表转换/复制到另一张工作表吗? 下面是我想做的:所以我有一个谷歌电子表格文件。它有两个选项卡/工作表。 现在,工作表1有一列名为:“总计” 我知道我必须使用appendRow()函数。但这需要硬编码的值。类似这样的东西:床单。appendRow({“a”,“b”}),但我试图追加的行是由用户输入的。 然后把整行都复制过来。到目前为止,我能够得

  • 对所有人,谢谢你提前的时间。 我们已经有了工作代码,可以在Excel中用vb将数据从一个wrksht移动到另一个wrksht。 如有任何帮助,我们将不胜感激。 2/22/19 以下是我的回应。 在第二个工作簿上,在第一列上进行搜索时,工作表称为orderlog 谢谢

  • 我在表单模板中设置了一张表单,在a列中有数据提示,如姓名、ID#等,在B列中输入了实际数据。我创建了一个标记为“提交表单”的按钮,该按钮链接到脚本。我希望这个脚本实现的是只复制列B中特定范围的数据,然后将该数据粘贴到新工作表中的下一个空行中,以创建表单响应的某种数据库。它还将清除原始工作表B列中的数据范围。 我已经有一种方法可以清除原始工作表上的选定范围,也有一种方法可以将选定范围复制到新工作表,