Assumindo
- VBA é aceitável
- Office 2000 ou posterior (para a função Dividir. Se você estiver usando uma versão mais antiga do que 2003, diga-me, então eu vou verificar isso).
- seu formato é consistente, com um separador de ponto e vírgula.
adicione este código:
Function XLstrtok2(sStr As String, sDesiredDegree As String)
Dim ss() As String, i As Integer
sStr = Trim(sStr)
If Right(sStr, 1) = ";" Then sStr = Left(sStr, Len(sStr) - 1)
ss = Split(sStr, ";")
For i = 0 To UBound(ss)
If Left(Trim(ss(i)), Len(sDesiredDegree)) = sDesiredDegree Then XLstrtok2 = Trim(ss(i)): Exit Function
Next
XLstrtok2 = "--"
End Function
E é mostrada abaixo sua planilha e as fórmulas para colocar os graus em colunas diferentes à direita da string combinada com ponto e vírgula.
Assegure-se de que suas colunas sejam largas o suficiente. Se desejar, podemos adicionar mais código na parte inferior dizendo
With ActiveSheet.Columns("A:E")
.AutoFit
.HorizontalAlignment = xlLeft
End With
Copie a coluna final para a direita o quanto for necessário. Por exemplo, copie E1: E3 para F1: F3.
Copie a linha final para baixo o quanto for necessário. Por exemplo, copie A3: E3 para A4: E4 e digite novos dados em A4.
É claro que inserir uma linha no topo para títulos apropriados é sábio.
Diga-me se alguma coisa não estiver clara. Ou se isso é aceitável. Preste atenção à entrada de dados e sua consistência (por exemplo, às vezes mostra PHD e outras vezes Ph.D) para determinar se são necessárias colunas adicionais, como mostrado abaixo para variantes do PHD.