I use this method in immediate mode when I don't want to add code to the sheet.
strX="": _
For Each cllX in Range( ActiveCell, Cells( Cells.SpecialCells(xlCellTypeLastCell ).Row, ActiveCell.Column) ): _
strX=strX & iif(cllX.text="","",iif(strX="","",",")& cllX.address): _
Next: _
Range(strX).Select
But while that is intuitive, it only works for up to 35 to 50 cells. After that, the VBA returns an error 1004.
Run-time error '1004':
Application-defined or object-defined error
It is more robust to use the Union function.
Set rngX=ActiveCell: _
For Each cllX in Range( ActiveCell, Cells( cells.SpecialCells(xlCellTypeLastCell ).Row, ActiveCell.Column) ): _
Set rngX=iif( cllX.text="", rngX, Union(rngX, cllX) ): _
Next: _
rngX.Select
It is so short and intuitive, I just throw it away after each use.