You can create the macro by recording your keystrokes or you can key the code in by hand.
If you are attempting to make a long an complicated Macro I would suggest breaking the tasks you want the macro to do down into parts. Record 1 macro for each part.
You can then cut and paste all the macro's together into one big macro.
OR
At the end of the first macro you can put a line in to call the next macro (like a sub procedure)
by putting the following code a the end of macro1
Code:Call macro2
In this example when Macro1 finnishes it will start running Macro2. That way if you need to debug your code you can find which part is causing the probs and just fiddle with that macro (subprocedure). Rather than having to search through masses of code.
Hope that helps, any probs just shout.