Hi Ant,
An interrim post.
It would help both of us if you set one VBA option. While in the VBA window click on 'Tools' in the menu bar and then select 'Options.' Make sure the 'Require Variable Declaration' is checked (second in the list).
What this does is put 'Option Explicit' at the head of each new module - existing modules need to be updated manually. What this means is that VBA will detect typos immediately. Without this option VBA will assume any typo is a new variable!
Also become familiar with Intellisense. As you type each statement, VBA does a pretty good job of determining what you're doing and provides a list of possibilities or an aide memoire of the syntax. If you are given a list then you can scroll up and down, [Tab] selects the highlighted entry. If you are not given a list, try [Ctrl]+[Spacebar]. This last works for variables that you have defined, VBA will extend your variable name or give you a list to choose from. For example, if I have declared a variable called 'MfrmPickList' then simply typing 'mfrmp[Ctrl]+[Spacebar]' will probably type the whole name for me, at the very least it will give me a list from which I can select the name I want. (If it's not there then something is wrong. Stop and sort it out.) In this particular example MfrmPickList is an object. If I type a full stop (period) after the name, Intellisense immediately lists all the public properties and methods available in that object. As you get used to Intellisense you will begin to wonder how you ever got on without it.