gpt4 book ai didi

google-apps-script - 如何从过滤器中自动选择范围而无需手动输入?

转载 作者:行者123 更新时间:2023-12-03 23:15:14 25 4
gpt4 key购买 nike

我想知道是否有办法根据所选过滤器自动选择单元格范围。
例子:
Sample

  • 在(H 列)中设置过滤器
  • 自动选择从 A 列(A2000)开始的结果单元格数据:C 列(C5000)等 --- 这就是我被卡住的地方。我不知道如何编写以根据所选过滤器自动选择结果单元格数据。

  • 目前,我的锻炼是手动输入单元格,以便我可以继续编写代码。我希望我在上面说得有道理。
    - - 代码 - -
    function ColHtoActive() {
    var ss = SpreadsheetApp.getActive();
    var sheet = ss.getSheetByName('Current');
    var crange = sheet.getRange('A7:I7350').activate();
    var currentCell = sheet.setCurrentCell(sheet.getRange('H7');
    var hSfilter = sheet.getRange('A7:I7350').createFilter();
    var ccC1 = sheet.getRange('H7').activate();
    var cCriteria = SpreadsheetApp.newFilterCriteria().setHiddenValues('Inactive']).build();

    sheet.getFilter().setColumnFilterCriteria(8, cCriteria);
    }

    function copycolA() {
    var ss = SpreadsheetApp.getActive().getSheetByName('A');
    ss.getRange('A2307').activate();
    ss.getRange('A2307:A7155').copyTo(
    ss.getActiveRange(),
    SpreadsheetApp.CopyPasteType.PASTE_NORMAL,
    false);
    }

    最佳答案

    您可以从 getFilter().getRange() 获取过滤后的范围维度。 .这将复制所有过滤的范围:

    function copycolA() {
    var sourceSheet = SpreadsheetApp.getActive().getSheetByName('Current');
    var targetSheet = SpreadsheetApp.getActive().getSheetByName('A');
    var sourceRange = sourceSheet.getFilter().getRange();
    sourceRange.copyTo(
    targetSheet.getRange('A1'),
    SpreadsheetApp.CopyPasteType.PASTE_NORMAL,
    false);
    }
    阅读:
  • Filter#Range
  • Related answer
  • 关于google-apps-script - 如何从过滤器中自动选择范围而无需手动输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52212388/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com