Formato Data em maiusculas no Excel

Formato Data em maiusculas no Excel

Formato data em maiusculas no Excel não se consegue obter só através da aplicação de um formato data.

Esta situação pode ser ultrapassada de duas formas

1ª Solução – Bem simples, instalar um tipo de letra só com maiúsculas e formatar as celulas com datas com esse tipo de letra, caso não tenham, existem diversos sites com fontes deste tipo e gratuitas (ex: http://www.dafont.com/pt/u-s-101.font ).

formato data em maiusculas no excel - Tipo de Letra

2ª Solução – Através de uma macro, terá que aceder ao Editor do VBA (ALT+F11) para colocar a macro no sitio certo. A execução da macro e consequente modificação do conteudo da celula só é feita caso essa celula tenha um valor no formato data e não contenha formulas. A macro soluciona o problema e mantêm o valor na celula como data para futuras operações caso seja necessário. como pode ver na imagem abaixo.

Data em maiusculas no Excel - Macro

Se a intenção for interceptar todas as folhas (worksheets) do livro (workbook) a macro deve ser colocado em “EsteLivro” (ThisWorkbook).

Data em maiusculas no Excel - Livro

Código da macro

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Dim celula As Range
    Set celula = Target
    If IsDate(celula) And celula.HasFormula = False Then
     Application.EnableEvents = False
     With celula
              .Value = UCase(Format(.Value, "dd-mmmm-yyyy"))
     End With
     Application.EnableEvents = True
    End If
    Set celula = Nothing
End Sub

 

Mas se quiser usar numa só folha (worksheet) do livro coloque a macro abaixo no código da folha.

formato data em maiusculas no excel - Folha

Código da macro

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim celula As Range
    Set celula = Target
    If IsDate(celula) And celula.HasFormula = False Then
     Application.EnableEvents = False
     With celula
              .Value = UCase(Format(.Value, "dd-mmmm-yyyy"))
     End With
     Application.EnableEvents = True
    End If
    Set celula = Nothing
End Sub

Nesta solução, apesar da macro ser igual, o evento que a executa é diferente, copie o código certo para o local certo, veja nas imagens associadas.

 

O video demonstrativo da 2ª solução com a 1ª macro.

Video

 

Deixe um comentário