Google apps script 下拉可基于下拉菜单隐藏行
在Google工作表中,当我在Google apps script 下拉可基于下拉菜单隐藏行,google-apps-script,google-sheets,triggers,Google Apps Script,Google Sheets,Triggers,在Google工作表中,当我在R4中的下拉列表显示BLS时,我想隐藏第5行到第31行,如果R4为空白或显示ALS,则显示这些单元格 以下是我最近的一次尝试: function onEdit(e) { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sh = ss.getSheetByName("Shee1"); var rg = sh.getDataRange(); var vA = rg.getValues(); va
R4
中的下拉列表显示BLS时,我想隐藏第5行到第31行,如果R4
为空白或显示ALS,则显示这些单元格
以下是我最近的一次尝试:
function onEdit(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getSheetByName("Shee1");
var rg = sh.getDataRange();
var vA = rg.getValues();
var R4 = sh.getRange("R4").getValue();
for (var i = 0; i < vA.length; i++) {
var row = i + 1;
switch (R4) {
case "BLS":
if (row >= 5 && row <= 31) {
sh.hideRows(row);
}
break;
case "ALS":
if (row >= 4 && row <= 32) {
sh.showRows(row);
}
break;
default:
}
}
}
函数onEdit(e){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var s=ss.getSheetByName(“Sheet1”);//输入工作表名称
var row=s.getRange('R:R').getValues();
//输入包含文本“隐藏”和“取消隐藏”的列字母
s、 showRows(1,s.getMaxRows());
对于(vari=0;i
您能告诉我们目前为止的情况吗?这是最近的一次尝试:函数onEdit(e){var ss=SpreadsheetApp.getActiveSpreadsheet();var sh=ss.getSheetByName(“Shee1”);var rg=sh.getDataRange();var vA=rg.getValues();var R4=sh.getRange(“R4”).getValue();用于(var i=0;i=5&&row=4&&row我也尝试过这个方法,它指向我录制的两个不同的宏,但它使屏幕变得疯狂,每当编辑其他内容时就会跳转函数onEdit(){if(SpreadsheetApp.getActiveSheet().getRange('R4').getValue()=“BLS”)BLS();//如果(SpreadsheetApp.getActiveSheet().getRange('R4').getValue()==“ALS”){ALS();//启动脚本}请将代码放入提供的答案区域,只选择代码并按控制键k。如果编辑的单元格是“触发单元格”,则只需使用代码保护来执行BLS()
或ALS()
函数,R4。否则,您可能不想激活这些函数。请参阅我的答案,了解如何向编辑触发函数添加代码保护。使用条件格式解决了我的问题。效果很好。将此公式放入单元格:=if($R$4=“BLS”,“hide”,“unhide”)。
function onEdit(){
if(SpreadsheetApp.getActiveSheet().getRange('R4').getValue() == "BLS") BLS(); // Launches the script
if(SpreadsheetApp.getActiveSheet().getRange('R4').getValue() == "ALS") ALS(); // Launches the script
}
function onEdit(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName("Sheet1"); // Enter sheet name
var row = s.getRange('R:R').getValues();
// Enter column letter that has the text "hide" and "unhide"
s.showRows(1, s.getMaxRows());
for(var i=0; i< row.length; i++){ if(row[i] == 'hide') { s.hideRows(i+1, 27); }
else if(row[i] == 'unhide'){ s.unhideRow(ss.getDataRange()); }
}
}