Have you tried using the macro recorder to record the steps? That is
usually my first step. Then I start manipulating the resulting to code
to add refinement.
Hopefully this will help you get started and then we can better assist
you in refining the end results.