首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >隐藏/取消隐藏列

隐藏/取消隐藏列
EN

Stack Overflow用户
提问于 2019-04-26 02:44:52
回答 2查看 2.1K关注 0票数 0

我正在寻找一个宏的帮助,该宏将显示一组列,然后另一个宏将显示分配给两个单独按钮的同一组列。

目前,我有完成此任务的Hide BootcampShow Bootcamp按钮,但我知道需要将列添加到此工作表中,这将在将来抛出范围(<>列I或列BJ:CO)。在将列添加/移除到工作表时,是否有人有能够保持范围完整性的解决方案?

工作表链接

https://docs.google.com/spreadsheets/d/17H9QMJ7Lmznon8G0dO4MGkidE0b6ymrvgt7fTE9gQBw/edit?usp=sharing

当前代码低于

隐藏列

代码语言:javascript
复制
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();
};

显示列

代码语言:javascript
复制
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();
};
EN

回答 2

Stack Overflow用户

发布于 2019-04-26 03:51:50

按名称隐藏列

如果你在上面的评论中对我的两个问题都回答“是”,那么这将为你隐藏你的专栏。您所要做的就是给函数在顶部行的列的名称,当然,您可能需要更改工作表的名称。

代码语言:javascript
复制
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);
}
票数 0
EN

Stack Overflow用户

发布于 2020-06-06 05:57:22

它缺少激活范围。

代码语言:javascript
复制
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);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55860111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档