Попробуйте этот код, пожалуйста:
Sub text2columns()
Dim rg As Range, arrFlInf(19) As Variant, i As Long
For i = 0 To UBound(arrFlInf)
Select Case i
Case 1 - 8, 10 'Text
arrFlInf(i) = Array(i + 1, 2)
Case 12 - 15, 18 'date (MDY)
arrFlInf(i) = Array(i + 1, 3)
Case Else 'General
arrFlInf(i) = Array(i + 1, 1)
End Select
Next i
Set rg = Range("A:A")
rg.TextToColumns Destination:=Range("A1"), _
ConsecutiveDelimiter:=False, _
DataType:=xlDelimited, _
Semicolon:=True, _
fieldInfo:=arrFlInf
End Sub
Если вам не нужен формат даты типа "MDY", вы должны изменить его в одной из следующих категорий: 4 = DMY, 5 = YMD, 6 = MYD, 7 = DYM и 8 = YDM.