En este post resuelven un problema parecido al tuyo, en una celda hay texto en aleman y texto en ingles, la unica forma de diferenciar es que el texto en aleman esta
bolddie Fuβgängerzone,-n –pedestrian zone
erleben-to experience
kräftig - strong
la solucion era hacer una funcion de usuario
Function BoldEnds(r As Range) As Long
' returns the character position of the first non-bold character
' in the first cell of r
Dim iUB As Long
Dim iLB As Long
Dim iMid As Long
With r(1)
If .HasFormula Or VarType(.Value) <> vbString Then
BoldEnds = -1
ElseIf IsNull(.Font.Bold) Then ' some bold, some not
iUB = Len(.Value)
iLB = 0
Do While iUB - iLB > 1
iMid = (iLB + iUB) \ 2
If .Characters(iMid, 1).Font.Bold Then
iLB = iMid
Else
iUB = iMid
End If
Loop
BoldEnds = iUB
ElseIf .Font.Bold Then
BoldEnds = Len(.Value) + 1
Else
BoldEnds = 1
End If
End With
End Function ------------A------------ -------B-------- ----C-----
1 Input Bold Not Bold
2 der Anwalt,-¨e –solicitor der Anwalt,-¨e –solicitor
3 der Fahrstuhl,-¨e –lift der Fahrstuhl,-¨ e –lift
4 fliehen-to escape fliehen -to escape
La formula en B2 es
=LEFT(A2, BoldEnds(A2)-1)
y la formula en C2 es
=TRIM(MID(A2, BoldEnds(A2), LEN(A2)))
Ojala te sirva
http://www.excelforum.com/excel-general/754022-split-cell-bold-text-and-non-bold-text.html