Notifications
Clear all

Fixar letras maiúsculas

15 Posts
2 Usuários
0 Reactions
4,615 Visualizações
(@regina)
Posts: 40
Trusted Member
Topic starter
 

Olá, em uma célula sem fórmula, apenas para preencher, consegui colocar negrito fixo, mas alguém sabe como fazer que seja tudo maiúsculo tb, mesmo que a pessoa digite em minúsculo inverta para maiúsculo? Grata.

 
Postado : 18/03/2012 3:04 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Até onde sei, só por VBA.
Aperte as teclas Alt + F11, do lado esquerdo dentro da Plan1 (dentro do Editor).

Exmplo:

vPrivate Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim vCelulas As Range
Dim vUltimaLinha As Long, i As Long
   
    Set vCelulas = Application.Intersect(Target, Columns(4))
    
    If vCelulas Is Nothing Then Exit Sub
       
    vUltimaLinha = Saber1.Range("D" & Rows.Count).End(xlUp).Row
    For i = 1 To vUltimaLinha
        Saber1.Range("D" & i) = UCase$(Saber1.Range("D" & i))
    Next i

End Sub
 
Postado : 18/03/2012 3:24 pm
(@regina)
Posts: 40
Trusted Member
Topic starter
 

Oi Alexandre, obrigada pela ajuda mas não consegui. Nada acontece.

 
Postado : 18/03/2012 5:38 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

boa noite!!

Tente com outro exemplo

Fonte: http://www.ozgrid.com/VBA/change-case-text.htm

Sub ConvertCase()

Dim rAcells As Range, rLoopCells As Range

Dim lReply As Long



    'Set variable to needed cells

    If Selection.Cells.Count = 1 Then

        Set rAcells = ActiveSheet.UsedRange

    Else

       Set rAcells = Selection

    End If





    On Error Resume Next 'In case of NO text constants.

    'Set variable to all text constants

    Set rAcells = rAcells.SpecialCells(xlCellTypeConstants, xlTextValues)

    

    If rAcells Is Nothing Then

       MsgBox "Could not find any text."

       On Error GoTo 0

       Exit Sub

    End If
   lReply = MsgBox("Selecione 'Sim' para maiúsculas ou 'Não' para caso apropriado.", _
    vbYesNoCancel, "OzGrid.com")

    If lReply = vbCancel Then Exit Sub

  

    If lReply = vbYes Then ' Convert to Upper Case

          For Each rLoopCells In rAcells

              rLoopCells = StrConv(rLoopCells, vbUpperCase)

          Next rLoopCells

    Else ' Convert to Proper Case

          For Each rLoopCells In rAcells

              rLoopCells = StrConv(rLoopCells, vbProperCase)

          Next rLoopCells

    End If

    

End Sub

 
Postado : 18/03/2012 5:43 pm
(@regina)
Posts: 40
Trusted Member
Topic starter
 

Nada. Nessa planilha, a célula C9 é para ser preenchida em negrito e letra maiúscula. Apenas a C9. Tem que adaptar algo?
Obrigada

 
Postado : 18/03/2012 6:02 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Por favor me mande seu anexo (COMPACTADO!!!)!!!

Att

 
Postado : 18/03/2012 6:06 pm
(@regina)
Posts: 40
Trusted Member
Topic starter
 

Segue planilha de teste só para entendimento. Nesse caso o campo que eu quero maiúsculas (e já está em negrito) é a B1.
Grata,

 
Postado : 18/03/2012 6:19 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!
Segue!!!

 
Postado : 18/03/2012 6:45 pm
(@regina)
Posts: 40
Trusted Member
Topic starter
 

Muito bom!!! obrigada Alexandre.

 
Postado : 18/03/2012 7:15 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Obrigado, pelo retorno!!

Precisando já sabe onde nos encontrar.

Abraços e at+++ ;)

 
Postado : 18/03/2012 7:31 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Sei que já foi resolvido, mas vou postar aqui um código mais enxuto (assim mantém também o código sem precisa fazer o download)

Basta colar isto na aba (guia do excel).

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
Application.EnableEvents = False
Target.Value = UCase(Target.Value)
End If
Application.EnableEvents = True
End Sub
 
Postado : 18/03/2012 8:20 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Uma ótima ideia, meu problema é que eu havia feito antes, porém regina não conseguiu resolver, então tive entregar tudo na mão, prontinho!!

Na minha 1 e 2 postagem tem 2 exemplos....

Obrigado!!!

 
Postado : 19/03/2012 6:45 am
(@regina)
Posts: 40
Trusted Member
Topic starter
 

Alexandre, tem diferença se eu rodar a macro no win7 e excel 2007? trouxe para o meu notebook e inseri a macro que só funciona qdo eu mando executar, ela não fixa. Tem algum macete?

 
Postado : 19/03/2012 3:03 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Caso esteja usando ...Private Sub Worksheet_Change.

Creio que deve funcionar toda vez que houver mudança na célula.

Considerando, que suas macros estão habilitadas e etc...
Att

 
Postado : 19/03/2012 3:07 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

O exemplo que passei o código deve estar na Sheet que você deseja mudar a célula B1 para maiúscula. Assim, toda vez que tiver um evento change, ele verificará se é a célula $B$1 e a mudará.

 
Postado : 19/03/2012 7:45 pm