Zoals ik eerder reeds zei: Uw code is zeer foutgevoelig. Komt daar nog bij dat het om 80 Sheets gaat... dat maakt het alleen maar erger.
Bovendien is het bijzonder twijfelachtig of jij wel 80 Sheets nodig hebt.
Maar goed: Hier alvast enkele tips:
Vermijd Select; Selection en Activate.
Vermijd programmacode rechtstreeks in de programmacode van je werkblad.
Indien op elk werkblad in dezelfde cel hetzelfde getal moet komen te staan, verander dan niet in elk werkblad hetzelfde getal, maar verander één getal, en zet in de rest van de werkbladen formules die naar die éne cel verwijzen.
Vermits het om 80 werkbladen gaat... benoem de werkbladen in je programmacode dan niet bij naam, maar maak ze variabel:
Dim i As Integer
For i = 2 To Worksheets.Count
Sheets(i).Range("D4").Value = .... enz.
Next
Enne... hoe ga je het bonnummer controleren?
Bonnetje afgedrukt... niet opgeslagen... maar wel nummer opgehoogd. Wat ga je doen indien iemand afdrukt... merkt dat het papier op is, en het nogmaals wil afdrukken?
Luc
ps. Daar denk ik nog aan: Vermijd ook besturingselementen op elk werkblad, die identiek hetzelfde moeten doen. Maak hiervoor ofwel een extra werkbalk, ofwel buttons op je werkbalken.