Yes, Offset should do it. You can store the amount of offset in a
cell somewhere so it will be saved with the file.
You can also look at using CurrentRegion e.g.:
Range("BOB").CurrentRegion.Select
This expands the range to include all adjacent non-blank cells, so
only works if your range is surrounded by blanks cells.