You cant run a macro because none exist... a macro isnt made of VBA code.
Try using F8 to step thru your code or F5 to execute it
Plus I dont think you can actually execute on demand private subs like this. Instead simply use the button on your form to activate it
Some words of advice.
- Indent your code "properly" messy code is unreadable and becomes a maintenace nightmare
- Disambiguate, since recordsets come in two versions you should specify which one you want... Usually DAO.Recordset
- Why run a VBA calculation to update a table? Why not use an update query instead?