Google 脚本/表格:如何根据一个单元格的值隐藏 3 个单元格?
Google Scripts / Sheets: How do I hide 3 cells based on the value of one cell?
作为非开发人员,任何人都可以建议我可以用来根据一个单元格的内容隐藏 3 个单元格的脚本吗?请参阅示例电子表格 here. 如果使用的公式抛出“TRUE”,我想隐藏 3 个蓝色单元格,否则,如果它具有正常值,我希望单元格保留我设置的格式。任何意见,将不胜感激。我确实有 VBA 经验,但在掌握 Google 脚本方面似乎有点慢。
(对我可以参加的课程有什么建议吗?)
非常感谢您在这里提出的所有宝贵建议!对我这样的新手很有帮助。
作为我做的TheWizEd mentioned there is no way to hide cells and leave other cells in the same row at the same time, however using the solution with two sheets you could try something as this test sheet。
遵循根据特定单元格的值隐藏该行的逻辑,您可以尝试将其应用于您的特定场景。在我的例子中,我使用 Yes/No
值来隐藏整行:
选择 Yes
时,Sheet2
中的行将隐藏。
这是使用的脚本:
var sheet = "Sheet1";
var editingsheet = "Sheet2";
var val = "Yes";
var column = 3;
function onEdit() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var activeSheet = SpreadsheetApp.getActiveSheet();
var editingss = ss.getSheetByName(editingsheet);
if(sheet == activeSheet.getName()){
var cell = ss.getActiveCell();
var cellnotation = cell.getA1Notation();
var cvalue = cell.getValue();
if(cell.getColumn() == column){
if(cvalue == val){
var range = editingss.getRange(cellnotation);
editingss.hideRow(range);
}
}
}
}
这是我在有趣的项目 1 和 12 上选择 Yes
时得到的结果:
作为非开发人员,任何人都可以建议我可以用来根据一个单元格的内容隐藏 3 个单元格的脚本吗?请参阅示例电子表格 here. 如果使用的公式抛出“TRUE”,我想隐藏 3 个蓝色单元格,否则,如果它具有正常值,我希望单元格保留我设置的格式。任何意见,将不胜感激。我确实有 VBA 经验,但在掌握 Google 脚本方面似乎有点慢。 (对我可以参加的课程有什么建议吗?)
非常感谢您在这里提出的所有宝贵建议!对我这样的新手很有帮助。
作为我做的TheWizEd mentioned there is no way to hide cells and leave other cells in the same row at the same time, however using the solution with two sheets you could try something as this test sheet。
遵循根据特定单元格的值隐藏该行的逻辑,您可以尝试将其应用于您的特定场景。在我的例子中,我使用 Yes/No
值来隐藏整行:
选择 Yes
时,Sheet2
中的行将隐藏。
这是使用的脚本:
var sheet = "Sheet1";
var editingsheet = "Sheet2";
var val = "Yes";
var column = 3;
function onEdit() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var activeSheet = SpreadsheetApp.getActiveSheet();
var editingss = ss.getSheetByName(editingsheet);
if(sheet == activeSheet.getName()){
var cell = ss.getActiveCell();
var cellnotation = cell.getA1Notation();
var cvalue = cell.getValue();
if(cell.getColumn() == column){
if(cvalue == val){
var range = editingss.getRange(cellnotation);
editingss.hideRow(range);
}
}
}
}
这是我在有趣的项目 1 和 12 上选择 Yes
时得到的结果: