我正在尝试根据活动单元格删除行的数据。我查看了Google的文档,但我无法弄清楚如何执行此操作。我也搜索了论坛,发现了几个类似的场景,但我无法让它发挥作用。我试图通过删除数据数组并根据数组中的值删除行来做到这一点,但这也不起作用。我相信我在这里过于复杂。这是我到目前为止的代码......
function clearProject() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var source = ss.getSheetByName('Projects');
var sourceArray = source.getRange(1,1,10).getValues();
var sourceCell = source.getActiveCell();
var sourceData = sourceCell.getValues();
//var sourceRow = sourceCell.getRange(sourceCell, );
var target = ss.getSheetByName('Timeline').getRange(1, 1, 10).getValues();
for (var i = 0; i < sourceArray.length; i++){
if(i == sourceData){
sourceCell.clearContent();
}
}
感谢您提供的任何帮助!
答案 0 :(得分:1)
首先,由于getValues返回
,您无法像if(i == sourceData)
那样进行比较
...此范围的矩形网格值。返回一个 二维数组值,按行索引,然后按列索引。该 值可以是Number,Boolean,Date或String类型,具体取决于 细胞的价值。空单元格将以空表示 数组中的字符串。请记住,当范围索引从1,1开始时, JavaScript数组将从[0] [0]索引。
我没有抓住你的目标,你能不能再加一些解释?
答案 1 :(得分:0)
可能就是这么简单:
function delRowsInActiveRange() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var source = ss.getActiveRange();
var height = source.getValues().length;
var rowPosition = source.getRowIndex();
ss.getActiveSheet().deleteRows(rowPosition, height);
}
此功能删除包含所选单元格的所有行。