Google 工作表:在列中输入特定值时弹出消息
Google Sheets: Pop up message when a specific value is entered in a column
这是我第一次尝试在 Apps 脚本中为 Google 表格创建内容,我有点 stuck/overwhelmed。在我所做的阅读中,我认为我正在尝试的是相当基础的。我只是没有得到解决方案,所以我需要一个推动...
需要:
我有一个 sheet 正在跟踪已检查并返回到中心区域的设备。
sheet 有多个布局相同的页面。
在每一页上我都有一列,其中 (3) 个不同的选项可以从下拉列表中选择。
进入、退出和不可用
对于 (3) 个条目选项中的每一个,我希望在更改条目时显示弹出消息。
所以在 F2:F100 的范围内,如果条目从“IN”更改为“OUT”,我希望弹出一个消息“清除右侧的所有字段。 “和一个“确定”按钮。
我发现了很多示例,可以在更改任何字段或打开 sheet 时弹出。我坚持将这些弹出窗口限制为仅 select fields/ranges/pages
谢谢大家的帮助。
解决方案
您可以通过 onEdit trigger, where the pop-up message will only run if 参考下面的示例脚本 运行 任何选定的单元格都在 F 列下,如果该单元格的值在任何 [=44= 上更改为“OUT” ] 传播sheet 文件:
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.');
}
}
如果你需要添加更多条件,比如你只想 运行 脚本到特定的 sheet 名称,你可以在 [=17= 上添加 ss.getSheetName() == '[Name of the sheet]'
] 条件由 &
符号分隔,如下例所示:
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
:
弹出消息“清除右侧的所有字段。”将显示在 sheet
这是我第一次尝试在 Apps 脚本中为 Google 表格创建内容,我有点 stuck/overwhelmed。在我所做的阅读中,我认为我正在尝试的是相当基础的。我只是没有得到解决方案,所以我需要一个推动...
需要: 我有一个 sheet 正在跟踪已检查并返回到中心区域的设备。 sheet 有多个布局相同的页面。
在每一页上我都有一列,其中 (3) 个不同的选项可以从下拉列表中选择。 进入、退出和不可用
对于 (3) 个条目选项中的每一个,我希望在更改条目时显示弹出消息。
所以在 F2:F100 的范围内,如果条目从“IN”更改为“OUT”,我希望弹出一个消息“清除右侧的所有字段。 “和一个“确定”按钮。
我发现了很多示例,可以在更改任何字段或打开 sheet 时弹出。我坚持将这些弹出窗口限制为仅 select fields/ranges/pages
谢谢大家的帮助。
解决方案
您可以通过 onEdit trigger, where the pop-up message will only run if 参考下面的示例脚本 运行 任何选定的单元格都在 F 列下,如果该单元格的值在任何 [=44= 上更改为“OUT” ] 传播sheet 文件:
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.');
}
}
如果你需要添加更多条件,比如你只想 运行 脚本到特定的 sheet 名称,你可以在 [=17= 上添加 ss.getSheetName() == '[Name of the sheet]'
] 条件由 &
符号分隔,如下例所示:
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
:
弹出消息“清除右侧的所有字段。”将显示在 sheet