INVERTER SOBRENOME DE VARIOS NOME AO MESMO TEMPO

WCOSTA 06/01/2012 00:21:30
#392520
Pessoal tenho a função abaixo que consegui de terceiros aqui no VBMania. Ela inverte o nome digitado, ou seja Sobrenome, Nome. A questão que estou precisando de algo maior, ou seja, numa TextBox precisarei digitar vário nomes delimitados por ; (ponto e vírgula) ou , (vírgula) e a função precisa retrornar todos eles invertidos e como o nome possíveis nomes do meio abreviado. Explico
se digito José Alcantara Alves; Maria Antonia da Silva; Paulo Cesar de Albuquerque; José da Silva a função precisaria me retornar assim
Alves, J.A., M.A. Silva, P.C. Albuquerque & J. Silva
Tentei a função Split, InStReverse, Loop, Vetores, mas nada consegui. Joguei a toalha e o pior que esta função irá fazer parte de um software Freeware, que me ajudar a solunicionar, com certeza terá seu nome no Sobre do software, chamado EntomoBrasilis Check List (http://www.periodico.ebras.bio.br/ebchecklist.asp), que já tem uma versão BETA no ar.
  Public Function Inverte(ByVal sNome As _
String) As String
Dim sNom As String
Dim iPos As Integer
Dim iNum As Integer
sNome = Trim(sNome)
For iNum = Len(sNome) To 1 Step -1
sNom = Mid(sNome, iNum, 1)
If sNom = [Ô] [Ô] Then
iPos = iNum
Exit For
End If
Next
sNom = Right(sNome, (Len(sNome) - _
iPos)) & [Ô], [Ô]
sNom = sNom + Left(sNome, (iPos - 1))
Inverte = sNom
End Function

[ô]Dim sResult As String
[ô]sResult = Inverte([Ô]José Carlos da Silva[Ô])
[ô] O resultado é igual a Silva, José Carlos da
WCOSTA 06/01/2012 02:34:36
#392523
Barros,
Valeu mesmo, ajustei e ficou nota 1000
Manda por Mensagem Interna seus dados para constar no software.
Tópico encerrado , respostas não são mais permitidas