單擊“button1”時,我希望代碼檢查第 38-58 行的第一個單元格(A 列),如果相應的單元格為空則隱藏該行,如果不是則顯示。
在這種情況下為空意味著單元格仍然有一個公式,但只是空白。如果這不可能,“隱藏條件”可以是非數字的單元格。
我想將它與下面的代碼結合起來,當單元格 C4 和 D4 分別等于 0 時,它將隱藏并顯示第 10 行和第 11 行。
function button2(){
var ss = SpreadsheetApp.getActive();
var sheet = ss.getActiveSheet();
var cellRef1 = "C4";
var cellRef2 = "D4";
var cell1 = sheet.getRange(cellRef1);
var cell2 = sheet.getRange(cellRef2);
var value1 = cell1.getValue();
var value2 = cell2.getValue();
if (value1 == "0"){
sheet.hideRows(10);
}
if (value2 == "0"){
sheet.hideRows(11);
}
if (value1 != "0"){
sheet.showRows(10);
}
if (value2 != "0"){
sheet.showRows(11);
};
};
uj5u.com熱心網友回復:
您可以通過這種方式隱藏/取消隱藏行:
function hide_unhide_rows() {
var sheet = SpreadsheetApp.getActiveSheet();
var rows = sheet.getRange('a38:a58').getDisplayValues().flat();
rows.forEach((cell_value,i) => {
let index = i 38;
if (cell_value == '' && !sheet.isRowHiddenByUser(index)) sheet.hideRows(index);
if (cell_value != '' && sheet.isRowHiddenByUser(index)) sheet.unhideRows(index);
});
}
至于它如何與您的代碼結合使用,您只需在函式末尾添加以下行:
hide_unhide_rows();
或者,這是完整的組合代碼:
function button2(){
var sheet = SpreadsheetApp.getActiveSheet();
var value1 = sheet.getRange('c4').getValue();
var value2 = sheet.getRange('d4').getValue();
if (value1 == 0) { sheet.hideRows(10) } else { sheet.showRows(10) }
if (value2 == 0) { sheet.hideRows(11) } else { sheet.showRows(11) }
var rows = sheet.getRange('a38:a58').getDisplayValues().flat();
rows.forEach((cell_value, i) => {
let index = i 38;
if (cell_value == '' && !sheet.isRowHiddenByUser(index)) sheet.hideRows(index);
if (cell_value != '' && sheet.isRowHiddenByUser(index)) sheet.unhideRows(index);
});
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/464071.html
