删除因过滤器而隐藏的行
Delete rows hidden due to filter
我需要帮助删除因用户过滤器而隐藏的行。
我创建了一个虚拟 sheet,数据链接如下。
我想要的是:当我在 sheet 1 中删除一行时,应该在 sheet 2 中删除同一行。
(在实际传播中sheet,sheet 1 是表单条目,使用数组公式将其复制到sheet 2 进行数据操作。
当我使用公式时,该行在 sheet 1 中被删除,但是在 sheet 2 中它没有被删除,因为它由于用户设置的过滤器而被隐藏。
我通过移除过滤器对此进行了测试并且它有效。我需要找到一种方法来删除行而不必删除过滤器。请在下面找到工作文件和代码片段。
Google传播sheet:https://docs.google.com/spreadsheets/d/1uiJzzJ9TvsJBLT6_i1S3JbXAi0zUl8wvk1uuIZ9_LdA/edit?usp=sharing
function deleteRow() {
var sheet = SpreadsheetApp.getActiveSheet();
var sheetName = sheet.getName();
if(sheetName == "Sheet 1"){
var eocDataSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet 2")
var rowPos = sheet.getActiveRange().getRow();
var numRows = sheet.getActiveRange().getNumRows();
eocDataSheet.deleteRows(rowPos, numRows);
sheet.deleteRows(rowPos, numRows);
}
}
恐怕您必须获取所有过滤的行,检查您要删除的行是否与过滤的行相交,获取现有过滤器,暂时取消过滤,删除有问题的行,然后重新应用以前的过滤器。
如何获取所有过滤的行
参见this example page。 小节获取筛选行。
如何获取现有过滤器
参见 .getColumnFilterCriteria()
here。
我需要帮助删除因用户过滤器而隐藏的行。
我创建了一个虚拟 sheet,数据链接如下。 我想要的是:当我在 sheet 1 中删除一行时,应该在 sheet 2 中删除同一行。 (在实际传播中sheet,sheet 1 是表单条目,使用数组公式将其复制到sheet 2 进行数据操作。
当我使用公式时,该行在 sheet 1 中被删除,但是在 sheet 2 中它没有被删除,因为它由于用户设置的过滤器而被隐藏。
我通过移除过滤器对此进行了测试并且它有效。我需要找到一种方法来删除行而不必删除过滤器。请在下面找到工作文件和代码片段。
Google传播sheet:https://docs.google.com/spreadsheets/d/1uiJzzJ9TvsJBLT6_i1S3JbXAi0zUl8wvk1uuIZ9_LdA/edit?usp=sharing
function deleteRow() {
var sheet = SpreadsheetApp.getActiveSheet();
var sheetName = sheet.getName();
if(sheetName == "Sheet 1"){
var eocDataSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet 2")
var rowPos = sheet.getActiveRange().getRow();
var numRows = sheet.getActiveRange().getNumRows();
eocDataSheet.deleteRows(rowPos, numRows);
sheet.deleteRows(rowPos, numRows);
}
}
恐怕您必须获取所有过滤的行,检查您要删除的行是否与过滤的行相交,获取现有过滤器,暂时取消过滤,删除有问题的行,然后重新应用以前的过滤器。
如何获取所有过滤的行
参见this example page。 小节获取筛选行。
如何获取现有过滤器
参见 .getColumnFilterCriteria()
here。