Haha, brilliant! Sounds like an adventure. I’m sure the practice was worth something. As a takeaway for me though, I’ll try and order my suggestions with the most likely first, instead of the order they come out of my brain… I would also suggest that any time there is a fault, do the visual check of all likely components first. Then get the multimeter out if nothing is found. This could save some time.
Order of likeliness:
1. Shift Register (serves the whole column, complex, close pins, easy to insert incorrectly)
2. Transistor (serves the whole column, can fail, close pins, could be inserted incorrectly)
3. Resistors (unlikely to fail, they do serve the entire column though)
4. LEDs (they are wired in parallel so if one fails, the rest will still work, so unlikely to be the culprit)
There is a lot to consider when troubleshooting electronics. I’m glad you found the fault. Everything is a learning experience. Failing is an important part of the process.
I would like to start a gallery of customer builds to encourage others. So, I’d love to see a picture of your final device in situ, if you are up for it. If so, please email a photo to firstname.lastname@example.org or upload it to this forum post (we can see if that works).