One is not distinctly more efficient than the other. Where you have defined
the constant is much more readable and maintainable. By knowing that the 60
is minutes then you can reasonably assume 30 is also minutes. Otherwise is
the 30 minutes or seconds?
As for making your code maintainable often you need to use offset to move a
defined number of rows or columns away. It is a bit of a silly example but it
demonsatrates my point. By making the offsets a constant all I need to do to
change all of my code is change 1 number in one spot and all is well. If I
had hard coded a 5 then it is much more difficult... Especially when the 5 is
not unique so that I can not just do a find and replace.
dim rng1 as range
const lngOffsetToSales as long = 5 '5 columns to right
const lngOffsetToNextRegion as long = 5 '5 rows down
set rng1 = range("A2")
msgbox rng1.offset(0,lngOffsetToSales )
set rng1 = rng1.offset(lngOffsetToNextRegion , 0)
msgbox rng1.offset(0,lngOffsetToSales )
set rng1 = rng1.offset(lngOffsetToNextRegion , 0)
msgbox rng1.offset(0,lngOffsetToSales )
set rng1 = rng1.offset(lngOffsetToNextRegion , 0)
msgbox rng1.offset(0,lngOffsetToSales )
set rng1 = rng1.offset(lngOffsetToNextRegion , 0)