There are entire books — entire bookstores — dedicated to the truisms of business. One truism that doesn't get written about very often is this: before it gets big enough to have IT resources, every enterprise will run on a clutter of VBA-ridden Excel spreadsheets masquerading as line-of-business software. And, as surely as the sun rises in the East, such a company's first few developers will spend most of their time maintaining these. Sometimes those first few developers, with no one on the hiring squad able to vet their capabilities, will even create a few tabular terrors of their own. Dash found himself opening one of these, an Excel workbook created by a long-gone predecessor whose resume had claimed "extreme familiarity with Microsofts XL", to be faced with this:
Private Sub Worksheet_Calculate() '...snip... If Not Intersect(wsTS.Range("Q11:Q35"), wsTS.Range("Q11:Q35")) Is Nothing Then For r = 11 To 35 If wsTS.Cells(r, "N") <> "" Then If wsTS.Cells(r, "Q") < 1 And wsTS.Cells(r, "E") <> "std" Then wsTS.Cells(r, "Q").NumberFormat = "0.00" ElseIf wsTS.Cells(r, "Q") < 10 And wsTS.Cells(r, "Q") >= 1 And wsTS.Cells(r, "E") <> "std" Then wsTS.Cells(r, "Q").NumberFormat = "0.0" ElseIf wsTS.Cells(r, "Q") >= 10 And wsTS.Cells(r, "E") <> "std" Then wsTS.Cells(r, "Q").NumberFormat = "0" ElseIf wsTS.Cells(r, "E") = "std" Then wsTS.Cells(r, "Q").NumberFormat = "0.0" End If End If Next r End If If wsTS.Range("D42") < 1 Then wsTS.Range("D42").NumberFormat = "0.00" ElseIf wsTS.Range("D42") < 10 And wsTS.Range("D42") >= 1 Then wsTS.Range("D42").NumberFormat = "0.0" ElseIf wsTS.Range("D42") >= 10 Then wsTS.Range("D42").NumberFormat = "0" End If If wsTS.Range("G42") < 1 Then wsTS.Range("G42").NumberFormat = "0.00" ElseIf wsTS.Range("G42") < 10 And wsTS.Range("G42") >= 1 Then wsTS.Range("G42").NumberFormat = "0.0" ElseIf wsTS.Range("G42") >= 10 Then wsTS.Range("G42").NumberFormat = "0" End If If wsTS.Range("J42") < 1 Then wsTS.Range("J42").NumberFormat = "0.00" ElseIf wsTS.Range("J42") < 10 And wsTS.Range("J42") >= 1 Then wsTS.Range("J42").NumberFormat = "0.0" ElseIf wsTS.Range("J42") >= 10 Then 2 wsTS.Range("J42").NumberFormat = "0" End If If wsTS.Range("O42") < 1 Then wsTS.Range("O42").NumberFormat = "0.00" ElseIf wsTS.Range("O42") < 10 And wsTS.Range("O42") >= 1 Then wsTS.Range("O42").NumberFormat = "0.0" ElseIf wsTS.Range("O42") >= 10 Then wsTS.Range("O42").NumberFormat = "0" End If If wsTS.Range("Q42") < 1 Then wsTS.Range("Q42").NumberFormat = "0.00" ElseIf wsTS.Range("Q42") < 10 And wsTS.Range("Q42") >= 1 Then wsTS.Range("Q42").NumberFormat = "0.0" ElseIf wsTS.Range("Q42") >= 10 Then wsTS.Range("Q42").NumberFormat = "0" End If If wsTS.Range("D44") < 1 Then wsTS.Range("D44").NumberFormat = "0.00" ElseIf wsTS.Range("D44") < 10 And wsTS.Range("D44") >= 1 Then wsTS.Range("D42").NumberFormat = "0.0" ElseIf wsTS.Range("D44") >= 10 Then wsTS.Range("D44").NumberFormat = "0" End If If wsTS.Range("G44") < 1 Then wsTS.Range("G44").NumberFormat = "0.00" ElseIf wsTS.Range("G44") < 10 And wsTS.Range("G44") >= 1 Then wsTS.Range("G42").NumberFormat = "0.0" ElseIf wsTS.Range("G44") >= 10 Then wsTS.Range("G44").NumberFormat = "0" End If If wsTS.Range("J44") < 1 Then wsTS.Range("J44").NumberFormat = "0.00" ElseIf wsTS.Range("J44") < 10 And wsTS.Range("J44") >= 1 Then wsTS.Range("J44").NumberFormat = "0.0" ElseIf wsTS.Range("J44") >= 10 Then wsTS.Range("J44").NumberFormat = "0" End If If wsTS.Range("O44") < 1 Then wsTS.Range("O44").NumberFormat = "0.00" ElseIf wsTS.Range("O44") < 10 And wsTS.Range("O44") >= 1 Then wsTS.Range("O44").NumberFormat = "0.0" ElseIf wsTS.Range("O44") >= 10 Then wsTS.Range("O44").NumberFormat = "0" End If If wsTS.Range("Q44") < 1 Then 3 wsTS.Range("Q44").NumberFormat = "0.00" ElseIf wsTS.Range("Q44") < 10 And wsTS.Range("Q44") >= 1 Then wsTS.Range("Q44").NumberFormat = "0.0" ElseIf wsTS.Range("Q44") >= 10 Then wsTS.Range("Q44").NumberFormat = "0" End If If wsTS.Range("D46") < 1 Then wsTS.Range("D46").NumberFormat = "0.00" ElseIf wsTS.Range("D46") < 10 And wsTS.Range("D46") >= 1 Then wsTS.Range("D46").NumberFormat = "0.0" ElseIf wsTS.Range("D46") >= 10 Then wsTS.Range("D46").NumberFormat = "0" End If If wsTS.Range("G46") < 1 Then wsTS.Range("G46").NumberFormat = "0.00" ElseIf wsTS.Range("G46") < 10 And wsTS.Range("G46") >= 1 Then wsTS.Range("G46").NumberFormat = "0.0" ElseIf wsTS.Range("G46") >= 10 Then wsTS.Range("G46").NumberFormat = "0" End If If wsTS.Range("J46") < 1 Then wsTS.Range("J46").NumberFormat = "0.00" ElseIf wsTS.Range("J46") < 10 And wsTS.Range("J46") >= 1 Then wsTS.Range("J46").NumberFormat = "0.0" ElseIf wsTS.Range("J46") >= 10 Then wsTS.Range("J46").NumberFormat = "0" End If If wsTS.Range("O46") < 1 Then wsTS.Range("O46").NumberFormat = "0.00" ElseIf wsTS.Range("O46") < 10 And wsTS.Range("O46") >= 1 Then wsTS.Range("O46").NumberFormat = "0.0" ElseIf wsTS.Range("O46") >= 10 Then wsTS.Range("O46").NumberFormat = "0" End If If wsTS.Range("Q46") < 1 Then wsTS.Range("Q46").NumberFormat = "0.00" ElseIf wsTS.Range("Q46") < 10 And wsTS.Range("Q46") >= 1 Then wsTS.Range("Q46").NumberFormat = "0.0" ElseIf wsTS.Range("Q46") >= 10 Then wsTS.Range("Q46").NumberFormat = "0" End If
The workbook had worked just fine for years, Dash was told, so he wasn't to "mess it up" — just add the one little feature that the business desired. Instead he decided to introduce the old workbook to an exciting new feature built right into Excel since at least the Nineties: conditional formatting. No longer running that script every single time every single cell containing a number was changed, the workbook's performance improved enormously.