Great tip Loomah, I've given you a star for your other post.
Dale, if I've understood your code correctly it assumes that:
* the first row of the import is in row 1
* the first row contains data (or labels/headings) for every column that is used in the database
* similarly assumes that column A will contain data in the last record.
The solution I currently adopt is as follows. I would really value your comments:
'make sure I select the top left cell in my import
'some of my imports seems to start with a blank row or two
'but the first row is fieldnames/columnlabels
Cells.Find(What:="myfirstdatacolumnheading", _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False ).Activate
'select everything below and to the right of this cell
'(often this "overselects"

Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
'sort to get blank rows at bottom of sheet
Selection.Sort Key1:=ActiveCell, Order1:=xlAscending, _
Header:=xlYes, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom
'name the range
Selection.CurrentRegion.Name = "alldata"