Suggest you use MAX7221/MAX7219Can use SPI for efficient data transfer.
I have made a 3x3 matrix with the columns connected to the + pins of the LEDs and the rows connected to the - pins. The negative pins are hooked into a second chip on pins Qa, Qb, and Qc. The columns are Qa, Qb, and Qc of the first chip.
I have been trying some different code to get this figured out. I already had some 74HC595 chips so I am trying to use those if possible. Not really getting anywhere so far.
I found a similar code online but they are only using one chip (https://www.instructables.com/id/Multiplexing-with-Arduino-and-the-74HC595/)