首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用下拉列表将行移动到另一个选项卡的谷歌工作表脚本

使用下拉列表将行移动到另一个选项卡的谷歌工作表脚本
EN

Stack Overflow用户
提问于 2022-04-26 19:04:53
回答 2查看 106关注 0票数 1

这是我想要做的事的视频。

https://soapbox.wistia.com/videos/rVDNWFKiuW

我要复制的YT视频是

https://youtu.be/YBd7Bv41A1Q

这是他正在使用的脚本。

剧本:

代码语言:javascript
运行
复制
function onEdit(e) {
  const src = e.source.getActiveSheet();
  const r = e.range;
  if (r.columnStart != 3 || r.rowStart == 1 || e.value == src.getName()) return;
  const dest = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(e.value);
  src.getRange(r.rowStart,1,1,3).moveTo(dest.getRange(dest.getLastRow()+1,1,1,3));
  src.deleteRow(r.rowStart);
}
EN

回答 2

Stack Overflow用户

发布于 2022-04-26 20:55:15

只要用一个简单的触发器就可以这样工作。

不需要创建可安装的触发器。我把一个dataValidation放在Sheet0列3中,从list Sheet1,Sheet2,它运行得很好。

代码语言:javascript
运行
复制
function onEdit(e) {
  const sh = e.range.getSheet();
  if (e.range.columnStart != 3 || e.range.rowStart == 1 || e.value == sh.getName()) return;
  const dest = e.source.getSheetByName(e.value);
  sh.getRange(e.range.rowStart,1,1,3).moveTo(dest.getRange(dest.getLastRow()+1,1,1,3));
  sh.deleteRow(e.range.rowStart);
}

演示:

票数 3
EN

Stack Overflow用户

发布于 2022-04-26 20:30:21

您需要创建一个触发器,以允许脚本在下拉菜单上进行更改后执行更改。

示例:

在这个图像中,我使用了视频中显示的相同的脚本,并添加了它作为脚本的触发器。请注意,它是作为OnEdit类型的触发器添加的:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72019246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档