I have three tabs on my Google Sheets - called "Credentials", "Credentials-fullsales" and "Credentials-reservations" I need a Macro that goes to each of those tabs, checks the contents of cell B4. If there is a "1" in there, it needs to change it to "2". If there is a "2" in there, it needs to change it to "1"
On the face of it pretty simple, but I have't done much Macro coding and my skillset is extremely low!
Below is the code I've been trying, but it gives me a "range is not defined" error. Any ideas or tips?
TIA
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);
}
}
You can try this;
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);
}
})
}