Notifications
Clear all

Deixar só a primeira letra de cada palavra

6 Posts
3 Usuários
0 Reactions
1,459 Visualizações
 guma
(@guma)
Posts: 135
Estimable Member
Topic starter
 

Boa tarde,

O que eu queria saber é se tem uma macro capaz de deixar só a primeira letra de cada palavra de um texto escrito em uma célula ???

Obrigado.

 
Postado : 30/07/2014 11:46 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Disponibilize sua planilha... acho que pode haver um jeito em macros...
Aonde estará esse texto ? todinho numa célula só?
E as células que conterão as primeiras letras de todas as palavras deste texto, elas serão uma abaixo da outra?

 
Postado : 30/07/2014 11:48 am
 guma
(@guma)
Posts: 135
Estimable Member
Topic starter
 

Boa Tarde Fernando

Disponibilizei uma pasta com duas planilhas, uma contendo o original e a outra o exemplo.
trata-se de uma técnica de memorização para assimilar textos de lei, também não precisa ficar perfeito.

Obrigado.

 
Postado : 30/07/2014 12:28 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Veja se atende...
não ficou bonito e usei duas linhas para cada linha sua, mas deu certo. só não consegui plotar as vírgulas . . . Mas elas aparecerão se vc colocar um espço entre elas e as palavras...

FF

 
Postado : 30/07/2014 3:43 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

Não vi o exemplo do Fernando, mas segue uma sugestão:

Sub primeira_letra_GT()
Application.ScreenUpdating = False

Dim i As Long
Dim j As Long
Dim UL As Long 'Última Linha
Dim palavras() As String
Dim resultado As String

UL = Cells(Rows.Count, 1).End(xlUp).Row

For i = 1 To UL
    palavras = Split(Cells(i, 1).Value2, " ")
    For j = 1 To UBound(palavras)
        If Len(palavras(j)) = 1 Then
            resultado = resultado & " " & palavras(j)
        Else
            If Right(palavras(j), 1) = "," Or _
             Right(palavras(j), 1) = ";" Or _
             Right(palavras(j), 1) = "." Then
                resultado = resultado & " " & Left(palavras(j), 1) & " " & Right(palavras(j), 1)
            Else
                resultado = resultado & " " & Left(palavras(j), 1)
            End If
        End If
    Next j
    Cells(i, 1).Value2 = palavras(0) & resultado
    resultado = ""
Next i

Application.ScreenUpdating = True
End Sub
 
Postado : 30/07/2014 4:32 pm
 guma
(@guma)
Posts: 135
Estimable Member
Topic starter
 

Obrigado a todos.

 
Postado : 31/07/2014 4:49 am