移动范围的脚本不显示错误但不执行 [英] Script to Move Range Showing No Error but Not Executing
问题描述
通过反复试验学习脚本.请原谅这个问题中可能的无知.我希望脚本将活动工作表中的特定范围(而不是整个行)移动到活动工作表中另一个范围的上方.我希望此操作仅在H列中的文本为"C"时进行编辑.到目前为止,我运行的脚本没有错误,但不会影响任何更改.另外,我希望不仅在第4行而且在第4-18行都发生相同的事情.我只是要复制成功的行多次并为每个行更新范围,但是我确定有更好的方法吗?
Learning scripts by trial and error. Please forgive probable ignorance in the question. I want a script to move a specific range (but not the whole row) in the active sheet to be positioned above another range in the active sheet. I want this move to take place upon edit and only when the text in column H is "C". The script I have so far runs with no errors but does not affect any change. Additionally, I would like this same thing to happen not only for row 4 but for rows 4-18. I was simply going to copy successful lines multiple times and update range for each, but I am sure there is a better way?
function onEdit(event) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getActiveCell();
var rangetoWatch = ("F4:I4");
var columnNumberToWatch = 8;
var valueToWatch = "C";
if (sheet.getName() == sheet && sheet.getRange() == range.getColumn() == columnNumberToWatch && rangetoWatch.getValue() == valueToWatch) {
sheet.getRange("F20:I").moveTo(sheet.getRange("F21"));
sheet.getRange("F4:I4").moveTo(sheet.getRange("F20:I20"));
}
}
推荐答案
以防将来有人偶然发现此线程...我终于弄清楚了我要完成的工作.下面是一个示例脚本.
in case anyone stumbles across this thread in the future... i finally figured out what I was trying to accomplish. a sample script is below.
function movedown(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getActiveCell();
var row = range.getRow();
var mini = sheet.getRange(row, 1, 1, 3);
var columnNumberToWatch = 3;
var valueToWatch = "C";
if (range.getColumn() == columnNumberToWatch && range.getValue() == valueToWatch) {
sheet.getRange("A15:C").moveTo(sheet.getRange("A16"));
sheet.getRange(row, 1, 1, 3).copyTo(sheet.getRange("A15:C15"));
sheet.getRange(row, 1, 1, 3).clear({contentsOnly:true});
}
}
这篇关于移动范围的脚本不显示错误但不执行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!