【问题标题】:Google Sheets script for tab color based on a single cells value基于单个单元格值的标签颜色的 Google 表格脚本
【发布时间】:2021-10-04 07:10:55
【问题描述】:

我们每天使用谷歌表格从多个位置发送订单(通常每天 20-50 个标签)。每个植物都有一个单独的颜色,以使文档保持有序且易于视觉识别。

我们有几个基于发货位置的“主标签”,我们将复制/复制该主标签,更新订单信息并最后重命名以开始发货流程。

我的奋斗是…………

我正在寻找一个脚本,该脚本将在单个选项卡上的特定单元格(每个选项卡上的相同单元格)更新时更改选项卡颜色。我们在中心办公室使用标签颜色来确定订单状态,因为文档是“实时”的

    BUT..... these orders could possibly ship again later in the week so we will copy the order forward that date and update items as needed.

可预见的问题是如何使功能继续前进,以便在删除特定单元格值时,选项卡会恢复为默认颜色,直到它被“发货”。

**** 我们有一个主订单表,我们将其复制并重命名为今天的日期,所以我会在那里添加脚本以确保功能仍然存在。

**** 非常感谢任何有关编写此脚本的帮助(插入示例信息)。我知道足够危险

【问题讨论】:

  • 为什么不尝试conditional formatting

标签: google-apps-script google-sheets


【解决方案1】:

例如可以这样做:

function onEdit(e) {
  if (e.range.columnStart != 1 && e.range.rowStart != 1) return;

  var sheet = e.source.getActiveSheet();
  if (e.value == '0' || !e.value)  sheet.setTabColor(undefined);
  if (e.value == '1') sheet.setTabColor('red');
  if (e.value == '2') sheet.setTabColor('blue');
}

如果单元格 A1 的值更改为“0”或“”选项卡获取默认(未定义)颜色。如果单元格将更改为“1”选项卡将变为红色。如果“2”标签变为蓝色。

必须手动更改单元格。如果它将通过脚本或公式更改,则触发器 onEdit() 将不起作用。

【讨论】:

  • 所以当我复制和粘贴脚本时,我收到以下错误消息“TypeError: Cannot read property 'range' of undefined onEdit @ TAB Color.gs:2”我知道它与单元格位置有关我想知道你是否让我决定而我只是不知道怎么做?我想使用的单元格是“M1”
  • 函数onEdit()是一个特殊的函数——'触发器'。它不会通过“运行”按钮从脚本编辑器运行。它会在您编辑工作表时自动触发。
  • 将我的代码粘贴到脚本编辑器中(我想你已经完成了)。转到您的电子表格并在单元格A1 数字1 中写入。底部的选项卡应将其颜色更改为红色。然后尝试在单元格A1 中写入数字2。选项卡应变为蓝色。对于单元格A1 中的零(或空)状态,选项卡将没有颜色。
猜你喜欢
  • 1970-01-01
  • 2015-11-29
  • 2015-08-08
  • 2023-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多