Boa Tarde Marcelo Prudêncio e Osvaldo!!!!!
Obrigado amigos, agora deu certo show de bola!!!!!!
Osvaldo, acrescentei as duas linhas e não deu erro nenhum.
Marcelo, o que eu queria era realmente o VBA pois eu tenho um balancete de verificação e não seleciono apenas a coluna onde estão o nome das contas eu seleciono todo o conteúdo e executo a macro.
Mas, quando eu executava a macro ela também passava pelas células que continham fórmulas e desmontava as fórmulas entende.
Vou deixar aqui o código caso mais alguém precise, quebra um galhão!!!!
VBA – Primeira letra Maiúscula, e as demais minúsculas ( Com exceções e sem mexer em células com fórmulas ).
Sub Primeira_Maiúscula()
Dim C As Range
For Each C In Selection
If Not C.HasFormula Then
C.Value = LCase(C.Value)
If UCase(C.Value) = C.Value Then
C.Value = LCase(C.Value)
ElseIf LCase(C.Value) = C.Value Then
C.Value = WorksheetFunction.Proper(C.Value)
'para o caso de nomes próprios, é necessário o tratamento abaixo:
C.Value = WorksheetFunction.Substitute(C.Value, " Do ", " do ")
C.Value = WorksheetFunction.Substitute(C.Value, " A ", " a ")
C.Value = WorksheetFunction.Substitute(C.Value, " Na ", " na ")
C.Value = WorksheetFunction.Substitute(C.Value, " Dos ", " dos ")
C.Value = WorksheetFunction.Substitute(C.Value, " Da ", " da ")
C.Value = WorksheetFunction.Substitute(C.Value, " Das ", " das ")
C.Value = WorksheetFunction.Substitute(C.Value, " De ", " de ")
C.Value = WorksheetFunction.Substitute(C.Value, " E ", " e ")
C.Value = WorksheetFunction.Substitute(C.Value, " Ao ", " ao ")
C.Value = WorksheetFunction.Substitute(C.Value, " Em ", " em ")
C.Value = WorksheetFunction.Substitute(C.Value, " Para ", " para ")
C.Value = WorksheetFunction.Substitute(C.Value, " Com ", " com ")
C.Value = WorksheetFunction.Substitute(C.Value, " Ou ", " ou ")
Else
C.Value = UCase(C.Value)
End If
End If
Next C
End Sub
VBA – Todas Maiúsculas ( Sem mexer em células com fórmulas ).
Sub Maiúscula()
For Each x In Selection
If Left(x.Formula, 1) <> "=" Then x.Value = UCase(x.Value)
Next
End Sub
VBA – Todas Minúsculas ( Sem mexer em células com fórmulas ).
Sub Minúscula()
For Each x In Selection
If Left(x.Formula, 1) <> "=" Then x.Value = LCase(x.Value)
Next
End Sub
Até mais pessoal!
Postado : 10/02/2016 11:18 am