Then I would stick a breakpoint (help on that) at the first sub call in PRNS() ("Call USF2PRN2"), and then when it breaks there use step INTO (F8 I think) to step your way through the code and see if it goes from beginning to finish as expected.
Along the way you can add some Watches (also explained in that link above) to certain variables/objects and monitor their state.
My first suspect would be that the "Activesheet" is somehow losing or changing it's value after a couple of the Subs get called, but that's purely a guess, and it'd take some line-by-line debugging with the real sheets/data to get an idea of where it's actually starting to not act as expected.
Once you know where it's going awry, you can work to fix it. :)