如何更新现有行(而不是创建更新的新行)

问题描述 投票:1回答:1

我创建了一个带有代码的工作表,该工作表能够使用条件(在特定单元格中键入数字时)将名为“ASSISTANT”的工作表中的所需行发送到另一个名为“DATA”的工作表。我们的想法是将汽车分配给用户,在分配时注册“日期输入”值,并在收到时添加“日期输出”值。

我想要解决的问题是,当我将汽车分配给用户时,提交的行包含“数字,名称,编号,日期”值,当我们收到汽车时,脚本再次提交包含相同的行之前的值并将“date out”值添加到DATA表的新行中,所以最后,我有两行:第一行在分配时,第二行在收到时返回。

我希望我的脚本在“DATA”表中搜索第一个提交的行,并用新行值覆盖它,而不是创建一个新行。

这是包含问题代码的工作表:

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

作为提示,请在以下链接中:

How to add data to a specific row in Google Sheets using Google Script

...一个名为“Sandy Good”的用户在该帖子上回复了其他成员,其中的代码显示了如何搜索行并通过覆盖来“更新”它。问题是我不知道如何将代码实现到我想要的那个代码上。也许那篇文章是关键...或者可能不是,我只是想知道如何解决它。

我从编程开始,我试图自己完成这个脚本,研究和尝试,但现在我卡住了。

google-apps-script google-sheets row cell edit
1个回答
1
投票

解决了一个解决方法。该脚本将在包含常规列表的工作表的第一个位置添加一行。我已经为每辆车创建了一张工作表,现在脚本将在每个车辆列表的第一个位置添加一行,因此很容易找到汽车的最后一个“日期”行,始终是第一个。当想要写入添加“日期输出”时,脚本只需要覆盖所需汽车的第一行(包含该汽车列表的工作表名称与汽车编号匹配)。

 targetSheet.insertRowAfter(1);   // Specify first row of destination sheet for receive content
 targetSheet.getRange("A2").setValue(cell1);   // Insert that content

不同之处在于,当您分配汽车时,有一个“targetSheet.insertRowAfter(1)”,当您收到它时,则没有。

好吧,这篇文章的任何人都没有帮助过我。无论如何,我学到了很多阅读其他问题......并且从其他用户那里得到了很好的答案,所以谢谢大家!

© www.soinside.com 2019 - 2024. All rights reserved.