Você não especifica um delimitador, por isso mesmo seu primeiro bit de código falha. Eu configurei a opção de vírgula como true para que o código seja executado. Você pode querer usar um delimitador diferente.
Você pode atribuir qualquer intervalo a MyRange, desde que seja adequado para a operação de texto em colunas, ou seja, apenas uma coluna e dados adequados ao padrão que você configurou, ou seja, apenas dois elementos em cada linha. Então não use o usuário Selection.TextToColumns
mas myRange.TextToColumns
.
Sub Macro4()
Dim myRange As Range
Set myRange = Range("A1:A20") ' you may need to qualify the range with sheet name, etc.
myRange.TextToColumns Destination:=myRange, DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(1, 1), DecimalSeparator:=".", ThousandsSeparator:=",", _
TrailingMinusNumbers:=True
End Sub