Question: my task is:

1) Select all cells in A row which contain values (done).
2) Text to Columns - example value 2017.01.01

```
Sub selectAndToColumns()
    Dim LR As Long
    LR = Range("A" & Rows.Count).End(xlUp).Row
    Range("A1:A" & LR).SpecialCells(xlCellTypeConstants, 23).Select
'2nd step
    Selection.TextToColumns Destination:=Range(A1), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
    Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
    :=".", FieldInfo:=Array(Array(1, 2), Array(2, 1), Array(3, 1))
End Sub

```

1 step is ok, but how can I use my selection instead of Range(A1) in 2nd step? Can I make a variable and how?

Answer: 
In python, a string is like a "instance of class str". To order to compare if the "content" within the input was a string, you can make something like...

```
a = input("Put something...")

if isinstance(a, str):
    print("Error caught, a string was given...")
else:
    print ("Now your number is", a, "and its type is" , type(a))

```
Instead of using `eval` (which is rather dangerous - a user could enter any valid python code and it'll run), you should use `int`, and use a try-catch statement something like the following:

```
while True:
    try:
            a = int(input ("Pelase, give me a numbre: \n"))
            break
    except ValueError:
            print("Not a number!")

```

For more examples, see here: <https://docs.python.org/3/tutorial/errors.html>