I am having a little issue with inserting columns in recorded code.

my aim is to insert 4 columns to the right of Column "AH" rename columns and then use first 4 delimited entries from AH one for one into each of the columns. This is the code I am using, the actual code for moving delimited characters was written by Paul from here http://www.excelforum.com/excel-gene...-one-cell.html

This i my current code.
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("Table1[[#Headers],[career]]").Select
    ActiveCell.FormulaR1C1 = "car_earn"
    Range("Table1[[#Headers],[Column4]]").Select
    ActiveCell.FormulaR1C1 = "car_start"
    Range("Table1[[#Headers],[Column3]]").Select
    ActiveCell.FormulaR1C1 = "car_first"
    Range("Table1[[#Headers],[Column2]]").Select
    ActiveCell.FormulaR1C1 = "car_second"
    Range("Table1[[#Headers],[Column1]]").Select
    ActiveCell.FormulaR1C1 = "car_third"
    With Sheets("Sheet1")
    arr = .Range("AH:AH" & .UsedRange.Rows.Count)
    For i = 1 To UBound(arr)
    .Range("B" & i & ":E" & i).Value = Split(arr(i, 1), "-")
    Next i
    End With
It does rename AH but then errors. When I look at the sheet I notice the columns aren't inserted. I recorded a macro to insert columns and that is what I have copied into my above code.