Well, Solver only works on the active sheet. That's why I suspect due to sequencing issues the proper sheet is activated but isn't quite active yet, when the Solver Reset command wakes up Solver, and it starts bouncing on the dock. That must be annoying as hell, those icons jumping up and down.
Maybe you could also move the sheet.activate command up higher in your routine.
I presume it works if you step through the code?
Sheets("PRICES").Select
Application.Run "SolverSolve", True
Sheets("PRICES").Select
Sheets("PRICES").Select
Logically a work around would be to insert a line before Sheets("PRICES").Select asking the macro to wait for the solver to finish before continuing executing the code.
I did a quick Google search, and apparently Solver runs differently on a Mac compared to in Windows. In Windows, Solver is more completely integrated as an add-in, and it runs synchronously, so Excel has no choice but to wait for the add-in to finish before continuing the VBA procedure that called Solver. On a Mac, there is a VBA interface to Solver, but Solver runs asynchronously as a separate application (this explains why Solver appears as a bouncing icon on the dock). Apparently VBA doesn't wait long enough for the separate application before continuing.
Perhaps you could contact Frontline Systems, the programmers of Solver:
support@solver.com