So would it be better for me to learn charlieplexing using something like the LoL Shield?
It would be better to learn charlieplexing by understanding its underlying principles.
Based on what you say in your posts, you seem to be confusing a charlieplexed array with an LED matrix. Maybe a matrix was what you intended to use?
In a matrix arrangement, the canonical method is to drive a column pin to its active state, leaving all the other column pins inactive, and then drive the row pins of the LEDs you intend to light to their active state, illuminating some of the LEDs in a single column simultaneously. Naturally, the roles of the rows and columns can be exchanged, and maybe you want to illuminate only one LED at a time - if one of those is what you want to do, then your code just needs to reflect it.
In a charliplexed arrangement, only one LED is illuminated at a time. The pin connected to that LED's anode is driven high, the pin connected to its anode is driven low, and all of the other pins are configured as inputs. The wiring is a lot more complex than a a matrix scheme - and, for all but a few trivial applications, the code is a whole lot more complex - and there's often not a natural one-to-one correspondence between a particular LED's location in the display and the pins that activate it. But, it'll address more LEDs than a matrix arrangement with the same number of pins.
The explanation of how charlieplexing works is long and complicated; I'm not inclined to reproduce it here, since I'm not entirely sure that charlieplexing is what you intended, and it's already described in many places on the Internet. I'll suggest the Wikipedia article on charlieplexing, and the resources that it references. There are oodles of descriptions of LED matrix arrangements on the web; google away.