【发布时间】:2014-08-24 12:34:43
【问题描述】:
这个函数可以将当前选中的单元格或范围移动到“列表”的顶部,可以这么说。在待办事项列表中超级有用。感谢布赖恩 P 的帮助!
function arrayShift(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var activeRange = sheet.getActiveRange();
var toDoRange = sheet.getRange("A2:A9"); //the range of your todo list.
var howMany = activeRange.getNumRows();
var topCell = activeRange.getRow();
var rangeTop = toDoRange.getRow();
var index = topCell - rangeTop; //gives the index of the selected cell
var rangeArray = toDoRange.getValues();
rangeArray.splice(index, howMany)
if ( howMany == 1 ) {
rangeArray.unshift(activeRange.getValues()[0]);
} else { // handle re-inserting multiple row values
var values = activeRange.getValues();
for ( var i = values.length - 1 ; i >= 0; i--) {
rangeArray.unshift(values[i]);
}
}
//Logger.log(rangeArray)
toDoRange.clearContent();
toDoRange.offset(0,0,rangeArray.length).setValues(rangeArray);
};
【问题讨论】:
标签: excel google-apps-script google-sheets