我的 Google 表格上有三个选项卡 - 称为“凭据”、“凭据-完整销售”和“凭据-预订” 我需要一个宏来转到每个选项卡,检查单元格 B4 的内容。如果其中有“1”,则需要将其更改为“2”。如果里面有“2”,需要改成“1”
表面上很简单,但我没有做过太多宏编码,而且我的技能非常低!
下面是我一直在尝试的代码,但它给了我一个“范围未定义”错误。有什么想法或建议吗?
蒂亚
function UntitledMacro3() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Credentials'), true);
spreadsheet.getRange('B4').activate();
var value = range.getValue();
if (value == 1) {
range.setValue(0);
} else if (value == 0) {
range.setValue(1);
}
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Credentials-reservations'), true);
spreadsheet.getRange('B4').activate();
var value = range.getValue();
if (value == 1) {
range.setValue(0);
} else if (value == 0) {
range.setValue(1);
}
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Credentials-fullsales'), true);
spreadsheet.getRange('B4').activate();
var value = range.getValue();
if (value == 1) {
range.setValue(0);
} else if (value == 0) {
range.setValue(1);
}
}
你可以试试这个;
function checkData(){
var spreadsheet = SpreadsheetApp.getActive();
var sheetnames = ['Credentials', 'Credentials-reservations', 'Credentials-fullsales'];
sheetnames.forEach(function (shName) {
var sheet= spreadsheet.getSheetByName(shName);
var data= sheet.getRange('B4').getValue();
if (data==1){
sheet.getRange('B4').setValue(0);
} else {
sheet.getRange('B4').setValue(1);
}
})
}