我正在寻找一个宏的帮助,该宏将显示一组列,然后另一个宏将显示分配给两个单独按钮的同一组列。
目前,我有完成此任务的Hide Bootcamp和Show Bootcamp按钮,但我知道需要将列添加到此工作表中,这将在将来抛出范围(<>列I或列BJ:CO)。在将列添加/移除到工作表时,是否有人有能够保持范围完整性的解决方案?
工作表链接
https://docs.google.com/spreadsheets/d/17H9QMJ7Lmznon8G0dO4MGkidE0b6ymrvgt7fTE9gQBw/edit?usp=sharing
当前代码低于
隐藏列
function HideBootcamp() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('I:I').activate();
spreadsheet.getActiveSheet().hideColumns(spreadsheet.getActiveRange().getColumn(), spreadsheet.getActiveRange().getNumColumns());
spreadsheet.getRange('BJ:CO').activate();
spreadsheet.getActiveSheet().hideColumns(spreadsheet.getActiveRange().getColumn(), spreadsheet.getActiveRange().getNumColumns());
spreadsheet.getRange('A2').activate();
};显示列
function ShowBootcamp() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('I:I').activate();
spreadsheet.getActiveSheet().showColumns(spreadsheet.getActiveRange().getColumn(), spreadsheet.getActiveRange().getNumColumns());
spreadsheet.getRange('BJ:CO').activate();
spreadsheet.getActiveSheet().showColumns(spreadsheet.getActiveRange().getColumn(), spreadsheet.getActiveRange().getNumColumns());
spreadsheet.getRange('A2').activate();
};发布于 2019-04-26 03:51:50
按名称隐藏列
如果你在上面的评论中对我的两个问题都回答“是”,那么这将为你隐藏你的专栏。您所要做的就是给函数在顶部行的列的名称,当然,您可能需要更改工作表的名称。
function hideColumnByName(name) {
var name=name||'HDR10';//debug
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName('Master');
var rg=sh.getRange(1,1,1,sh.getLastColumn())
var hA=rg.getValues()[0];
sh.hideColumns(hA.indexOf(name)+1);
}发布于 2020-06-06 05:57:22
它缺少激活范围。
function hideColumnByName(name) {
var name=name||'HDR10';//debug
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName('Master');
var rg=sh.getRange(1,1,1,sh.getLastColumn()).activate();
var hA=rg.getValues()[0];
sh.hideColumns(hA.indexOf(name)+1);
}https://stackoverflow.com/questions/55860111
复制相似问题