Hi, try this
Sub SelectDataRange() ' from A1 find used range
Dim LastRow As Long, LastColumn As Long
Dim MyRange As Range
Sheets("Entry").Select
'Find the used range
LastRow = Cells.Find(What:="*", After:=Range("A1"), SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
LastColumn = Cells.Find(What:="*", After:=Range("A1"), SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
'Set a range using the last row & column
Set MyRange = Sheets("Entry").Range(Range("B3"), Cells(LastRow, LastColumn))
'Copy the data
MyRange.Copy Sheets("Dataset").Range("B2")
MyRange.Copy Sheets("Dataset").Range("B12")
Sheets("Dataset").Select
End Sub
With this macro you dont actually use the named ranges.
You find the used range from cell B3 in this case, it looks for the last row of data and the last column of data. It then assigns the cells B3:K7 to MyRange. Then you can copy that range to wherever you want. That way if you add another row of data, next time it will increase the range size and copy it to the same starting point cell i.e B2 & B12.
Bookmarks