Excel VBA: manipulação de strings

0

O seguinte dá nome, espaço e última inicial. Eu gostaria primeiro inicial e sobrenome sem um espaço entre.

Sub FNLI() 

 Dim cell 

 For Each cell In Selection 
 cell.Offset(0, 1) = Mid$(cell.Value2, 1, InStr(cell.Value2, Chr(32)) + 1) 
 Next 

End Sub 

Aqui está o que faz atualmente -

Data Before:      
Margaret Hicks

After Script:
Margaret H

What I need:
MHicks
    
por LMP 02.01.2014 / 04:44

2 respostas

0

tente

For Each cell In Selection 
cell.Offset(0, 1) = trim(left(cell.Value2,1)&Mid(cell.Value2, InStr(cell.Value2, Char(32)) + 1,len(cell.Value2)-InStr(cell.Value2,Char(32)))) 
Next 

tente # 2

célula.Offset (0, 1) = trim (esquerda (cell.Value2,1) e Mid (cell.Value2, search (char (32), cell.Value2) + 1, len (cell.Value2) -search (Char (32), cell.Value2)))

    
por 02.01.2014 / 04:55
1

O argumento correto é 'Chr' em vez de 'Char'

Aqui está o sub-compilado completo e funcionando:

Sub FNLI ()

Dim cell

Para cada célula na seleção cell.Offset (0, 1) = Trim (Left (cell.Value2, 1) & Mid (cell.Value2, InStr (cell.Value2, Chr (32)) + 1, Len (cell.Value2) - InStr ( cell.Value2, Chr (32))))) Próxima

End Sub

    
por 04.01.2014 / 14:56