如何从过滤器自动选择范围而无需手动输入? [英] How to auto select range from a filter without having to manually enter it?
本文介绍了如何从过滤器自动选择范围而无需手动输入?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想知道是否有一种方法可以根据所选过滤器自动选择单元格范围.
I am wondering if there is a way to auto select the cell range based on selected filter.
示例:
- 在(H列)中设置过滤器
- 从列A(A2000):列C(C5000)等开始自动选择结果单元格数据.---这就是我遇到的问题.我不知道如何编写基于所选过滤器的自动选择结果单元格数据的方法.
当前,我的锻炼是手动输入单元格,以便继续编写代码.我希望我在上面有道理.
Currently, my workout is to manually enter the cell so I could move on with writing the codes. I hope I am making sense above.
----代码----
---- Code----
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()
获取过滤后的范围尺寸.这将复制所有过滤范围:
You can get the filtered range dimensions from getFilter().getRange()
. This will copy all the filtered range:
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
- Filter#Range
References:
这篇关于如何从过滤器自动选择范围而无需手动输入?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文