Is the . in .Range necessary when defined by .Cells?

前端 未结 3 892
终归单人心
终归单人心 2020-11-22 03:24

It is pretty much widely accepted that this is not \'best practise\'.

dim rng as range
with thisworkbook    \'<~~ possibly set an external workbook 
    w         


        
3条回答
  •  感情败类
    2020-11-22 04:12

    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

提交回复
热议问题