我正在制作一本自动调度工作手册,总共5张:
烹饪TBS |冰箱TBS |世界粮食计划署PRF |完成
使用特定的字体颜色输入呼叫:如果它们正在“烹饪”字体颜色黑色(#000000
)。如果它们是“冰箱”,则字体颜色为蓝色(#0000ff
)。
-在表格顶部输入新呼叫。
-具有删除线格式的呼叫已移至已完成(正在进行的工作)
-等待信息的呼叫会标有“?”并移至PRF表
-等待零件的呼叫被标记为“-”,并被移至WFP工作表
-可以安排回叫的电话带有“ X”标记
我想根据单元格的字体颜色和值来移动单元格,例如如果字体为“蓝色”并且单元格值为“ X”,则应将其和相关单元格移至“冰箱TBS”。
我能够仅根据价值来移动单元格:
function onEdit(event) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
var cookingcolor = '#000000';
var fridgecolor = '#0000ff';
if (r.getColumn() == 6 && r.getValue() == "?") {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("PRFs");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target);
s.deleteRow(row);
}
if (r.getColumn() == 6 && r.getValue() == "-") {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("WFP");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target);
s.deleteRow(row);
}
当我还检查字体颜色时,不再发生移动:
if (r.getColumn() == 6 && r.getValue() == "X" && r.getFontColor() == fridgecolor) {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("REFRIG TBS");
var target = targetSheet.getRange(targetSheet.getFirstRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target);
s.deleteRow(row);
}
if (r.getColumn() == 6 && r.getValue() == "X" && r.getFontColor() == cookingcolor) {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Cooking TBS");
var target = targetSheet.getRange(targetSheet.getFirstRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target);
s.deleteRow(row);
}
...
}