First there seems to be a typo in the code. At the end of the last statement you have a stray ` character.
What it seems like you want excel to do is the equivalent of CTRL+Shift+Down,Right,Right,Right. What the code is actually doing is Ctrl+[Arrow key] then expand the original selection to this new cell. Microsoft tells us that CTRL+[ArrowKey] brings us to the edge of the current region. As an illustration:

So since you have a range selected you will just be reselecting the same range every time!
What might be a solution for you is using the last column when trying to select ranges which require calling .End(xlToRight)
multiple times:
'Range("A2").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.Cells(1,Selection.Columns.Count).End(xlToRight)).Select
Range(Selection, Selection.Cells(1,Selection.Columns.Count).End(xlToRight)).Select
Range(Selection, Selection.Cells(1,Selection.Columns.Count).End(xlToRight)).Select
Which is the equivalent to pressing CTRL+Shift+Down,Right,Right,Right.
Let me know if you have more problems :)