So, when it gets to delivery time we often run through some pretty quick fixes and re-tests without the full regression.
Yesterday we had a refresh of a table. No re-test.
Of course the code blew up. When I looked at the table I found several contributors to the problem:
- There was a "naked" vlookup in it. Naked means there was no error handling.
- There was an assumption in the code that the value in the cell would be valid, e.g. a Currency field.
- To add to the set-up to this avalanche of fun, when I looked at the worksheet with the table, I remembered that column is no longer used. For those who understand data normalization and relational databases, we had found out earlier there is more than one method to determination that value so we needed a different table.
- The code still had the vlookup column referenced when loading an array although the part of the code that applied the newer method, using the new table, was in place everywhere.