c.haslam, Every time you declare an array (whether empty or filled) you must use a scoping keyword - that is probably the only reason that we keep Dim, so that you can re-declare an array in a UDF without worrying whether it was Local or Global in scope in the calling script. The Map stuff on that page should have been removed - but as it will still be in the next Beta I am not going to lose any sleep over its inclusion. M23