微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Google 表格:在列中输入特定值时弹出消息

如何解决Google 表格:在列中输入特定值时弹出消息

这是我第一次在 Apps Script for Google Sheets 中创建一些东西,我有点卡住/不知所措。在我所做的阅读中,我认为我正在尝试的是相当基本的。我只是没有找到解决方案,所以我需要推动...

需要: 我有一张用于跟踪设备的表,该设备已被检出并返回到中心区域。 该工作表具有多个布局相同的页面

在每一页上,我都有一列,可以从下拉列表中选择 (3) 个不同的选项。 输入、输出和不可用

对于 (3) 个条目选项中的每一个,我希望在条目更改时显示弹出消息。

因此,在 F2:F100 范围内,如果条目从“IN”更改为“OUT”,我希望弹出窗口显示“清除右侧的所有字段”的消息。和一个“确定”按钮。

我找到了很多示例,可以在更改任何字段或打开工作表时弹出。我坚持将这些弹出窗口限制为仅选择字段/范围/页面

谢谢大家的帮助。

解决方法

解决方案

您可以参考下面这个通过 onEdit 触发器运行的示例脚本,如果该单元格的值更改为电子表格文件中任何工作表上的“OUT”:

function onEdit() {
  var ss = SpreadsheetApp.getActive();
  //Check if selected cell is in column F (or col #6) was changed to "OUT"
  if(ss.getActiveCell().getColumn() == 6 & ss.getRange(ss.getActiveCell().getA1Notation()).getValue() == "OUT"){
    SpreadsheetApp.getUi().alert('Clear all fields to the right.');
  }
}

如果您需要添加更多条件,例如您只想将脚本运行到特定的工作表名称,您可以在以 ss.getSheetName() == '[Name of the sheet]' 符号分隔的 if 条件上添加 & ,如下面的示例所示:

if(ss.getSheetName() == 'Sheet2' & ss.getActiveCell().getColumn() == 6 & ss.getRange(ss.getActiveCell().getA1Notation()).getValue() == "OUT"){
    SpreadsheetApp.getUi().alert('Clear all fields to the right.');
  }

示例结果:

如果通过下拉选项将列 F 上的选定单元格从 IN 更改为 OUT

if

弹出消息“清除右侧的所有字段。”将显示在工作表上

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。