Pergunte aqui
0

Formatação de célula com data

perguntadas 2018-09-18 18:26:02 +0200

imagem do gravatar de ogirdoor

updated 2019-03-01 18:17:34 +0200

Estou formatando algumas colunas de uma planilha para receberem datas. O que pretendo é que ao digitar, por exemplo, 20102015 e mudar de célula a informação de data fique formatada como DD/MM/AAAA, ou seja, 20/10/2015 no caso exemplificativo.

Primeiramente, informo que estou usando a versão 5.2.6.2 do LibreOffice. É a versão mais recente homologada para uso em meu trabalho.

Tenho feito a formatação da seguinte forma: seleciono um intervalo de células da coluna, clico com o botão direito do mouse, depois em "Formatar células..." e, em "Números", seleciono como "Categoria" Data, como "Formato" 31/12/1999 (ou seja, DD/MM/AAA) e clico "OK".

Ao preencher a data 20102015 e mudar de célula, aparece o seguinte número 11/06/-8599.

Algum erro em meu procedimento? Há como a planilha funcionar como quero?

Desde já agradeço a atenção.

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

1 Resposta

0

respondidas 2018-09-18 20:32:47 +0200

updated 2018-09-21 05:39:19 +0200

Ola @ogirdoor, bem vindo ao Grupo.

Se não for usar para calculo a formatação é esta:

Categoria Número ##"/"##"/"####

Mas se for usar para calculo, será necessário converter o numero para DATA

Supondo que a célula acima seja C3

=DATA(DIREITA(C3;4);ESQUERDA(DIREITA(C3;6);2);ESQUERDA(C3;2))

======.Complemento referente a 2a.formatação.======

'================================================|
Sub FormatarCelula
'================================================|
Dim oSel as Object
Dim Var1 As String
Dim Var2 As String
Dim Var3 As String
Dim Var4 As String
Dim Var5 As String
Dim Var6 As String
Dim Var7 As String
    oSel = ThisComponent.getCurrentSelection()
    Var1 = oSel.getString()
    Var2 = Left ( Var1, 5 )
    Var3 = Right ( Left ( Var1, 8 ), 3 )
    Var4 = Right ( Left ( Var1, 11 ), 3 )
    Var5 = Right ( Left ( Var1, 15 ), 4 )
    Var6 = Right ( Var1 , 2 )
    Var7 = Var2 + "-" + Var3 + "-" + Var4 + "/" + Var5 + "-" + Var6
''  Call IrPara "$B$4"
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "StringName"
args1(0).Value = Var7
dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args1())
End Sub

Para automatizar será necessário seguir este procedimento,

https://ask.libreoffice.org/pt-br/que...

editar assinalar como ofensivo Excluir Link mais

Comentários

Perfeito, Gilberto.

Não sei se por aqui pode ser feita outra demanda, mas lá vai: preciso formatar noutra coluna a entrada de número de processo. Tentei da seguinte forma: 00000"."000"."000"/"0000"-"00. Não funciona. Acho que tem algo a ver com a quantidade de dígitos, pois o formato até que permanece, mas o número é alterado. Use como exemplo o número 10010001110091812.

Como se resolve isso?

imagem do gravatar de ogirdoorogirdoor ( 2018-09-19 11:47:50 +0200 )editar

O limite de números são 15, acima disso é transformado em científico.

Uma solução seria, no banco de dados, digitar formato texto (@) e usar uma formula para visualização e para impressão.

exemplo na célula C17 =

10010001110091812

para uso em visualização / impressão usar a formula:

=ESQUERDA(C17;5)&"-"&DIREITA(ESQUERDA(C17;8);3)&"-"&DIREITA(ESQUERDA(C17;11);3)&"/"&ESQUERDA(DIREITA(C17;6);4)&"-"&DIREITA(C17;2)

visivelmente será: 10010-001-110/0918-12

imagem do gravatar de Gilberto SchiavinattoGilberto Schiavinatto ( 2018-09-19 14:33:04 +0200 )editar

Interessante, Gilberto. Mas com o uso dessa sua solução terei de ter duas células com a mesma informação: número do processo não formatado e número do processo formatado.

Minha pretensão é que, ao ser digitado um número de processo sem formatação e seja dado um Tab por exemplo, a o número já apareça formatado. Parece que no LibreOffice isso não é possível.

imagem do gravatar de ogirdoorogirdoor ( 2018-09-20 04:46:10 +0200 )editar

Sim, a digitação faria em um campo fora da planilha original, ou em campo dentro da planilha com a célula formatada ;;; ela fica invisível.

Ou pensando mais alto, ligar uma macro nesta célula, que quando digitada, a informação é formatada e colada de volta.

imagem do gravatar de Gilberto SchiavinattoGilberto Schiavinatto ( 2018-09-20 15:41:57 +0200 )editar

Ou formatar a célula para Não imprimir, se for um formulário para impressão.

Selecione a célula que não quer imprimir (será visível) em Formatar / Células / Proteção de célula em Imprimir marque [v] Ocultar durante a impressão.

imagem do gravatar de Gilberto SchiavinattoGilberto Schiavinatto ( 2018-09-20 15:47:17 +0200 )editar

A solução da macro é interessante, mas é conhecimento de mais alto nível. Não conheço nada sobre macro. Muito boas suas dicas, Gilberto. Agradeço sua colaboração.

imagem do gravatar de ogirdoorogirdoor ( 2018-09-20 17:47:16 +0200 )editar
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2018-09-18 18:26:02 +0200

Lidas: 219 vezes

Última atualização: Sep 21 '18