If you want to macro magery in town with a buncha regs over night, there's no better way. I see people lose 1000s of regs by just leavin em in their pack and macroin all day, it's dumb.
By making this macro with Restock Agent you can withdraw however many reagents you want from your bank, cast the spell, and repeat.
Step 1 - Gather the reagents you're going to need, and make sure you have the spell you want to cast obviously.
Step 2 - Open Razor ~ Click the Agents tab, hit the drop-down box and select a Restock-#. Once you've chosen a # click Add Target and add the reagents you're going to be using. Example Lightning = 1 root + 1 ash
This is what it should look like so far:

Step 3 - Go to the Macros tab and create a new one, named Lightning or whatever you want. Then press record (do not do anything ingame while you're doing this) --press record. Click the "Hot Keys" tab and dropdown the Agents section. Click on the Restock Agent# you made, and hit 'Execute Selected' right after you press that, go to your UO client and target yourself. By targetting yourself, this will remove the regs from your bank. If you were in your house, you could target a container. Go back to the Macros tab and hit stop.

Once you've got all that right, play the macro and make sure it takes the reagents from your bank - it will check to see if you have 1 of each of those regs on you already, so bank all your regs. If it doesn't work, start over.
Step 4 -We need to put a delay in before you start casting lightning, so the regs have time to be withdrawn from your bank. Right click under Absolute Target and go to Special Constructs -> Insert Pause/Wait : 2500 milliseconds (bout 2.5 secs). Get your lightning spell icon out & ready and also have your skills open with meditation handy. Right click under the pause for 2.5sec, and click "Begin Recording Here" - cast lightning, target yourself then use meditation. Press stop. Also, check the loop box in the bottom right corner.

Step 5 - Here's the most annoying part, putting in the delays and brains into the macro. Right click on where it says Exec:Restock Agent-3 go to Special Constructs -> insert "if" conditional -- If Mana >= 11 -- once you've inserted that you're going to have to right click on that line, and hit "Move Up" so it's above the Exe:Restock Agent-3. Basically, thats just a check to see if your mana is high enough to cast lightning, before it starts gathering the regs and casting the spell. Now after the "Exec: Target Self" line go to special constructs->insert pause/wait for 2500 milliseconds.

Step 6 - Right click on the line Pause 2.50sec, after Exe:Target Self and goto special construct -> insert "else". That should be above the UseSkill Meditation Line. Now right click on the Meditation line, and Insert a Pause/Wait, click the bottom box and put in "Wait for: Mana >= 15" this will give you a little time to med up between casts.
All said and done your macro should look like this:

Let me know if you can't figure it out, have any suggestions for me, or if i made a mistake somewhere. Thanks
EDIT: If you've got GM Meditation & 100 int before you start, you might want to insert some more delays or an IF for hit points, because you can kill yourself with too many casts