It is pretty much widely accepted that this is not \'best practise\'.
dim rng as range
with thisworkbook \'<~~ possibly set an external workbook
w
My opinion is slightly different here.
YES it is required. You can't always control where the user may run the code from.
Please consider these few test cases
SCENARIO
Workbook has 2 worksheets. Sheet1 and Sheet2
TEST 1 (Running from a module)
Both Code give same result
TEST 2 (Running from a Sheet code area of Sheet1)
Both Code give same result
TEST 3 (Running from a Sheet code area of Sheet2)
'~~> This code fails
set rng = range(.cells(2, 1), .cells(rows.count, 1).end(xlup))
You will get Application Defined or Object defined
error
And hence it is always advisable to properly qualify your objects so that the code can run from anywhere