Google apps script 使用Google apps脚本从选定单元格中删除行
目标是,当我从同一列中选择两个或多个单元格并单击“删除”按钮时,所选单元格的行将被删除 到目前为止,我已经创建了以下代码:Google apps script 使用Google apps脚本从选定单元格中删除行,google-apps-script,google-sheets,Google Apps Script,Google Sheets,目标是,当我从同一列中选择两个或多个单元格并单击“删除”按钮时,所选单元格的行将被删除 到目前为止,我已经创建了以下代码: function Eliminar_filas() { var spreadsheet = SpreadsheetApp.getActive(); var sheet = spreadsheet.getActiveSheet(); spreadsheet.getRangeList([sheet.getRange(spreadsheet.getCurrentC
function Eliminar_filas() {
var spreadsheet = SpreadsheetApp.getActive();
var sheet = spreadsheet.getActiveSheet();
spreadsheet.getRangeList([sheet.getRange(spreadsheet.getCurrentCell().getRow() + 1,1,1, sheet.getMaxColumns()).getA1Notation()]).activate();
spreadsheet.getActiveSheet().deleteRows(spreadsheet.getActiveRange().getRow(), spreadsheet.getActiveRange().getNumRows());
};
问题是我只让它从一个选定单元格中删除行,而不是从选定单元格中删除所有行
没有需要满足的条件或匹配项,我只需要,例如,如果我选择单元格B13、B15、B20,则删除第13、15、20行
现在,在这个范围内,我不能指定一个特定的间隔,因为根据我想要消除的产品,单元格的选择是随机的,也就是说,一天可以是单元格B13、B15、B20,就像另一天可以是单元格B1、B40、B80一样
我已经苦苦挣扎了好几个小时,试图找到一个解决方案,尝试了各种方法,但都没有成功
在谷歌和stackoverflow进行了详尽的搜索之后,我看到了类似的案例,但总是会遇到一些条件或巧合,实际上,作为一个新手,我不知道如何适应我的需要
这里有人能帮我写代码吗?我做错了什么?最佳做法是什么?任何帮助都将不胜感激
对不起,我的英语不好
非常感谢。我相信你的目标如下
- 您想使用Google Apps脚本删除选定单元格的行
- 在脚本中,似乎检索到了一个活动范围。在谷歌电子表格服务中有一种
方法。在你的情况下,我认为这可能是可以使用的getActiveRangeList()
- 使用此脚本时,请选择单元格并运行脚本。这样,所选单元格的行将被删除
- 在这个示例脚本中,首先使用
检索活动范围列表,然后检索范围,然后按降序对检索到的范围进行排序,并删除每一行getActiveRangeList()
- 在这种情况下,使用
,当您选择多个单元格时,可以进行此操作getNumRows()
- 您想使用Google Apps脚本删除选定单元格的行
- 在脚本中,似乎检索到了一个活动范围。在谷歌电子表格服务中有一种
方法。在你的情况下,我认为这可能是可以使用的getActiveRangeList()
- 使用此脚本时,请选择单元格并运行脚本。这样,所选单元格的行将被删除
- 在这个示例脚本中,首先使用
检索活动范围列表,然后检索范围,然后按降序对检索到的范围进行排序,并删除每一行getActiveRangeList()
- 在这种情况下,使用
,当您选择多个单元格时,可以进行此操作getNumRows()
- 我相信你的目标如下
function Eliminar_filas() {
SpreadsheetApp
.getActiveRangeList()
.getRanges()
.sort((a, b) => a.getRow() > b.getRow() ? -1 : 1)
.forEach(r => r.getSheet().deleteRows(r.getRow(), r.getNumRows()));
}