[COLOR=black][FONT=Verdana]Sub MyDataSplit()<o:p></o:p>[/FONT][/COLOR]
[COLOR=black][FONT=Verdana]<o:p></o:p>[/FONT][/COLOR]
[COLOR=black][FONT=Verdana]' Splits all selected cells<o:p></o:p>[/FONT][/COLOR]
[COLOR=black][FONT=Verdana] Dim cell As Range[/FONT][/COLOR]
[FONT=Verdana][COLOR=black] Dim myLen As Long[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] Dim i As Long[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] Dim myCurCase As String[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] Dim myPrevCase As String[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] Dim mySplit As Long[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] Dim myColumn As Long[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] Dim myFirstEntry As String[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] Application.ScreenUpdating = False[/COLOR][/FONT]
[FONT=Verdana][COLOR=black]' Loop through all cells in rnage[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] For Each cell In Selection[/COLOR][/FONT]
[FONT=Verdana][COLOR=black]' Loop through all characters in cell[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] myLen = Len(cell)[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] If myLen > 0 Then[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] myPrevCase = ""[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] myCurCase = ""[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] mySplit = 1[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] myColumn = 0[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] myFirstEntry = cell.Value[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] For i = 1 To myLen[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] myPrevCase = myCurCase[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] Select Case Asc(Mid(cell, i, 1))[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] Case 65 To 90[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] myCurCase = "UC"[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] Case 97 To 122[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] myCurCase = "LC"[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] Case 32[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] myCurCase = "Space"[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] Case Else[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] myCurCase = "Other"[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] End Select[/COLOR][/FONT]
[FONT=Verdana][COLOR=black]' If change from lower case to upper case, then split cell[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] If myPrevCase = "LC" And myCurCase = "UC" Then[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] If myColumn = 0 Then[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] myFirstEntry = Left(cell, i - 1)[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] Else[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] cell.Offset(, myColumn) = Mid(cell, mySplit, i - mySplit)[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] End If[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] myColumn = myColumn + 1[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] mySplit = i[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] End If[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] Next i[/COLOR][/FONT]
[FONT=Verdana][COLOR=black]' Populate last value and first cells[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] cell.Offset(, myColumn) = Mid(cell, mySplit, i - mySplit)[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] cell.Value = myFirstEntry[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] End If[/COLOR][/FONT]
[FONT=Verdana][COLOR=black] Next cell<o:p></o:p>[/COLOR][/FONT]
[COLOR=black][FONT=Verdana]<o:p></o:p>[/FONT][/COLOR]
[COLOR=black][FONT=Verdana] Application.ScreenUpdating = True<o:p></o:p>[/FONT][/COLOR]
[COLOR=black][FONT=Verdana]<o:p></o:p>[/FONT][/COLOR]
[COLOR=black][FONT=Verdana]End Sub<o:p></o:p>[/FONT][/COLOR]