Happy new year.
Having some trouble getting some code to fire off correctly. I'm working in a budget sheet that has an overview sheet where information is pulled in from most of the other sheets, however since there are individual sheets for each month as well as a few more, it gets a little hectic trying to keep track of all the sheets. I started manually hiding/showing the sheets to make things easier, but once I was able to automate the hiding/showing of months on the overview page, I thought it would be best if the sheets were automated as well. That led me to the code I currently have in place which looks like this:
function onEdit(e) {
var sheet = e.source.getActiveSheet();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var January = ss.getSheetByName("January");
var February = ss.getSheetByName("February");
var March = ss.getSheetByName("March");
var April = ss.getSheetByName("April");
var May = ss.getSheetByName("May");
var June = ss.getSheetByName("June");
var July = ss.getSheetByName("July");
var August = ss.getSheetByName("August");
var September = ss.getSheetByName("September");
var October = ss.getSheetByName("October");
var November = ss.getSheetByName("November");
var December = ss.getSheetByName("December");
if (e.range.getA1Notation() !== 'A29' || sheet.getName() !== 'Overview') return;
switch (e.value) {
case 'All':
sheet.showColumns(3, 24)
January.showsheet();
February.showsheet();
March.showsheet();
April.showsheet();
May.showsheet();
June.showsheet();
July.showsheet();
August.showsheet();
September.showsheet();
October.showsheet();
November.showsheet();
December.showsheet();
break;
case 'January':
sheet.hideColumns(3, 24);
sheet.showColumns(3, 2);
January.showsheet();
February.hidesheet();
March.hidesheet();
April.hidesheet();
May.hidesheet();
June.hidesheet();
July.hidesheet();
August.hidesheet();
September.hidesheet();
October.hidesheet();
November.hidesheet();
December.hidesheet();
break;
case 'February':
sheet.hideColumns(3, 24);
sheet.showColumns(3, 4);
January.hidesheet();
February.showsheet();
March.hidesheet();
April.hidesheet();
May.hidesheet();
June.hidesheet();
July.hidesheet();
August.hidesheet();
September.hidesheet();
October.hidesheet();
November.hidesheet();
December.hidesheet();
break;
case 'March':
sheet.hideColumns(3, 24);
sheet.showColumns(5, 4);
January.hidesheet();
February.hidesheet();
March.showsheet();
April.hidesheet();
May.hidesheet();
June.hidesheet();
July.hidesheet();
August.hidesheet();
September.hidesheet();
October.hidesheet();
November.hidesheet();
December.hidesheet();
break;
case 'April':
sheet.hideColumns(3, 24);
sheet.showColumns(7, 4);
January.hidesheet();
February.hidesheet();
March.hidesheet();
April.showsheet();
May.hidesheet();
June.hidesheet();
July.hidesheet();
August.hidesheet();
September.hidesheet();
October.hidesheet();
November.hidesheet();
December.hidesheet();
break;
case 'May':
sheet.hideColumns(3, 24);
sheet.showColumns(9, 4);
January.hidesheet();
February.hidesheet();
March.hidesheet();
April.hidesheet();
May.showsheet();
June.hidesheet();
July.hidesheet();
August.hidesheet();
September.hidesheet();
October.hidesheet();
November.hidesheet();
December.hidesheet();
break;
case 'June':
sheet.hideColumns(3, 24);
sheet.showColumns(11, 4);
January.hidesheet();
February.hidesheet();
March.hidesheet();
April.hidesheet();
May.hidesheet();
June.showsheet();
July.hidesheet();
August.hidesheet();
September.hidesheet();
October.hidesheet();
November.hidesheet();
December.hidesheet();
break;
case 'July':
sheet.hideColumns(3, 24);
sheet.showColumns(13, 4);
January.hidesheet();
February.hidesheet();
March.hidesheet();
April.hidesheet();
May.hidesheet();
June.hidesheet();
July.showsheet();
August.hidesheet();
September.hidesheet();
October.hidesheet();
November.hidesheet();
December.hidesheet();
break;
case 'August':
sheet.hideColumns(3, 24);
sheet.showColumns(15, 4);
January.hidesheet();
February.hidesheet();
March.hidesheet();
April.hidesheet();
May.hidesheet();
June.hidesheet();
July.hidesheet();
August.showsheet();
September.hidesheet();
October.hidesheet();
November.hidesheet();
December.hidesheet();
break;
case 'September':
sheet.hideColumns(3, 24);
sheet.showColumns(17, 4);
January.hidesheet();
February.hidesheet();
March.hidesheet();
April.hidesheet();
May.hidesheet();
June.hidesheet();
July.hidesheet();
August.hidesheet();
September.showsheet();
October.hidesheet();
November.hidesheet();
December.hidesheet();
break;
case 'October':
sheet.hideColumns(3, 24);
sheet.showColumns(19, 4);
January.hidesheet();
February.hidesheet();
March.hidesheet();
April.hidesheet();
May.hidesheet();
June.hidesheet();
July.hidesheet();
August.hidesheet();
September.hidesheet();
October.showsheet();
November.hidesheet();
December.hidesheet();
break;
case 'November':
sheet.hideColumns(3, 24);
sheet.showColumns(21, 4);
January.hidesheet();
February.hidesheet();
March.hidesheet();
April.hidesheet();
May.hidesheet();
June.hidesheet();
July.hidesheet();
August.hidesheet();
September.hidesheet();
October.hidesheet();
November.showsheet();
December.hidesheet();
break;
case 'December':
sheet.hideColumns(3, 24);
sheet.showColumns(23, 4);
January.hidesheet();
February.hidesheet();
March.hidesheet();
April.hidesheet();
May.hidesheet();
June.hidesheet();
July.hidesheet();
August.hidesheet();
September.hidesheet();
October.hidesheet();
November.hidesheet();
December.showsheet();
break;
}
}
For some reason it's not quite working. Not sure what I'm doing wrong. I'm not very experienced when it comes to coding, so I'm sure it's probably something super simple. Here's a link to a blank copy of the document I made with the code in tact.
I'm open to suggestions, thanks in advance.