Just thought I'd post up some of the macros I use (mostly for arena) and might be useful for you. I'm not going to post every single one, since some are very similar (just space savers on the actionbar, etc.) but I'll try to post one of each "type" to give you ideas on how to make your own.
Frost Nova / Pet Nova
Replaces my normal frost nova spell button. Basically, if my water elemental is not out, it just casts a regular frost nova (rank 1, to save mana) on left or right click. If the water elemental is out, though, a left click will do a regular frost nova, while a right click will use freeze (my pet's frost nova) instead.
Code:
#showtooltip Frost Nova(Rank 1)
/cast [nopet]Frost Nova(Rank 1);
/cast [pet,button:2]Freeze
/cast [pet,button:1]Frost Nova(Rank 1)
Summon Pet & Assist
Replaces my normal summon elemental spell button. First click summons my water elemental, second click makes him attack my target.
Code:
#showtooltip Summon Water Elemental
/cast [nopet] Summon Water Elemental
/petAttack
Space Saver - Amplify/Dampen Magic
Combines two spells into one button to save space on my action bar - left click will cast Dampen Magic, right click will cast Amplify Magic.
Code:
#showtooltip Dampen Magic
/cast [button:2] Amplify Magic; Dampen Magic
Icy Veins & Trinket
Uses my trinket when I cast Icy Veins. If the trinket it on cooldown, it hides the error messages and just uses Icy Veins anyway. Also casts a frostbolt immediately when clicking it.
Code:
#showtooltip Icy Veins
/cast Icy Veins
/script UIErrorsFrame:Hide()
/cast Icon of the Silver Crescent
/script UIErrorsFrame:Clear()
/script UIErrorsFrame:Show()
/cast Frostbolt
Activate/Deactivate Ice Block
Replaces my regular Ice Block spell button - this one activates Ice Block when I click it, or if I click it when Ice Block is already activated, it will remove the Ice Block (so I don't have to go up to my buffs and right-click it). Stopcasting also means I'll stop whatever I'm casting and immediately hit Ice Block when I click it - a lifesaver!
Code:
/stopcasting
#showtooltip Ice Block
/cast Ice Block
/cancelaura Ice Block
Target/Focus Counterspell
Stops whatever I'm casting and immediately counterspells - very handy for quickly interrupting a heal, fear, etc. Left click counterspells my current target, right click counterspells my focus target.
Code:
/stopcasting
#showtooltip Counterspell
/cast [target=focus,button:2] Counterspell; Counterspell
Cycle Remove Curses
Repeatedly hitting this button will cycle through party/raid members, removing curses.
Code:
/targetraid
#showtooltip Remove Lesser Curse
/cast Remove Lesser Curse
Out Of Combat AOE
Casts arcane explosion rank 1, which is less mana-consuming, if I'm not in combat (to try and get stealthed players at the beginning of a fight). Once in combat, clicking the button will cast the rull rank arcane explosion.
Code:
/stopcasting
#showtooltip Arcane Explosion
/cast [nocombat] Arcane Explosion(Rank 1); Arcane Explosion
Dismiss Pet & Cold Snap
Dismisses my pet before I hit cold snap, so that I can resummon it immediately after.
Code:
#showtooltip Cold Snap
/script PetAbandon()
/cast Cold Snap
If you need any help writing a macro, feel free to ask me (any class) and I'll see if I can help you out with it.