我目前正在使用Google表格创建一个库存盘点系统,而且我已经在最后的障碍中遇到了问题。我使用条件格式来调整行的颜色等...当从"在购物车上更新时选择了某个下拉选项?"列,但我需要一个脚本(因为这不可能只使用条件格式)来检测" QTY"单元格已更改/从其当前值更新(更改为任何内容,而不仅仅是特定值)。
我已经浏览了25页Google,以及StackOverflow上的无数帖子,但无济于事。
这是系统目前的图像。
所以基本上当用户更改库存商品的数量时,该行应该改变颜色。
如果有人知道我可以使用的脚本,或者可以指出我在Google电子表格解决方案的正确方向上会很棒。
答案 0 :(得分:0)
某些脚本可以提供帮助:
function onEdit(t) {
var workSheetName = 'Sheet1'; // change sheet name to yours
var targetRangeAddress = 'E2:E'; // change if needed
var ss = SpreadsheetApp.getActiveSheet();
var sn = ss.getName();
if (sn == workSheetName) {
var myr = ss.getRange(targetRangeAddress);
var tr = t.range;
if (t.oldValue != tr.getValue() && t.oldValue != undefined) {
if (RangeIntersect(tr, myr)) {
var cr = ss.getRange(tr.getRow(),1,1,ss.getLastColumn());
cr.setBackgroundRGB(200, 200, 200); // change if needed
}
}
}
}
function RangeIntersect(R1, R2) {
var LR1 = R1.getLastRow();
var Ro2 = R2.getRow();
if (LR1 < Ro2) return false;
var LR2 = R2.getLastRow();
var Ro1 = R1.getRow();
if (LR2 < Ro1) return false;
var LC1 = R1.getLastColumn();
var C2 = R2.getColumn();
if (LC1 < C2) return false;
var LC2 = R2.getLastColumn();
var C1 = R1.getColumn();
if (LC2 < C1) return false;
return true;
}
或者可能只是将列(E:E)值复制到它旁边的库(F:F)并使用您的公式为所有表格范围设置条件格式规则:{{1} }