If you need to split a column containing test with more than one space, like compound names, try a macro like the following one.
'Declare variables
Dim strColumn1 As String
Dim strColumn2 As String
Dim strText As String
Dim intStartRow As Integer
'Initialize variables
strColumn1 = Mid(ActiveWindow.RangeSelection.Address, 2, 1)
strColumn2 = Mid(Application.ConvertFormula(Formula:="R" & Trim(Str(ActiveWindow.RangeSelection.Row)) & "C" & Trim(Str(ActiveWindow.RangeSelection.Column + 1)), fromReferenceStyle:=xlR1C1, toReferenceStyle:=xlA1), 2, 1)
intStartRow = ActiveWindow.RangeSelection.Row
'Insert a new column to the right of the active one
ActiveCell.EntireColumn.Insert
'While there is text to split, do the loop
Do While Sheets(ActiveSheet.Name).Range(strColumn2 & Trim(Str(ActiveCell.Row))).Text ""
'Load the text into the text variable
strText = Sheets(ActiveSheet.Name).Range(strColumn2 & Trim(Str(ActiveCell.Row))).Text
'Write everything afterthe first space to the new column
'If there is no space in the text, write an empty string
Sheets(ActiveSheet.Name).Range(strColumn2 & Trim(Str(ActiveCell.Row))).Value = IIf(InStr(1, strText, " ") = 0, "", Right(strText, Len(strText) - InStr(1, strText, " ")))
'Write everything before the first space to the active column
'If there is no space in the text, write the entire string
Sheets(ActiveSheet.Name).Range(strColumn1 & Trim(Str(ActiveCell.Row))).Value = IIf(InStr(1, strText, " ") = 0, strText, Left(strText, InStr(1, strText, " ")))
'Advance to the next row
Sheets(ActiveSheet.Name).Range(strColumn1 & Trim(Str(ActiveCell.Row + 1))).Select
Loop
'Return to where we started
Sheets(ActiveSheet.Name).Range(strColumn1 & Trim(Str(intStartRow))).Select
There's probably a simpler way to do this, but I haven't taken the time to look for one.
John