Okay first of all you need to establish whether it is the horn or another component which has failed before opening your wallet for some expensive surgery.
Some Cabs, have a little printed circuit board inside them, usually mounted just behind the Input connector plate or inside the cab. This is called a crossover, and filters out the bass frequencies before sending them to the horn.
It is possible that there is a burned out component on there, some crossovers have either a fuse or bulb to protect the horn from being overloaded, so there is a (small) possibility that it may be a fault on the crossover or blown fuse / lamp which is preventing the horn from working in which case buying a new horn wouldn't solve the problem. If a component has burned out on the Crossover then your nose will probably tell you as soon as you open the cab

, look for signs of components in distress and scortch marks on the Printed Circuit!
If there is no Crossover in the cabinet or on the rear connector plate then there may be a jumble of components soldered onto the connector tags on the back of the horn, this is a cheap 'n' cheerful way of filtering out the bass frequencies, if this is found to be the case then it is usually likely that your horn is knackered and will need replacing. This could cost anywhere between £15 - £200 depending on what type it is, the rating and the manufacturer.
To be honest if you are not tecnically minded or don't own a soldering iron then you will need to bite the bullet and take it to a dealer for repair, but it won't be cheap. You can tackle this job yourself, but you need to ensure that any component is replaced with the correct type, and that a replacement horn is a correct match for the broken one, if its wrong then you risk further damage and possibly shorting out your Amp as well.
Buying 2nd hand speakers is a minefield and not recommended if you are not familiar with how they operate and how to check them. Some speakers may look okay from the outside, but are the equivalent of buying a Nissan Sunny with 200,000 miles which has been a taxi