Página 1 de 1

EXCEL FORMATO PERSONALIZADO

Enviado: 28 Out 2017 às 08:40
por Peter007
Bom dia a todos , precisava de uma ajuda e não sei bem como fazer
estou a trabalhar numa tabela para a escola e precisava de uma mascara nas celulas tipo 000000/00.0aslsb.
As celulas já tem diversos valores inseridos e os numero e as letras nunca são iguais ou seja às vezes tenho 1234/00.3alsb e quero que ela a formate para 001234/00.3ALSB, sem alterar os dados já inseridos. como posso fazer?

Re: EXCEL FORMATO PERSONALIZADO

Enviado: 28 Out 2017 às 09:32
por Deciog
Peter007, Bom Dia.

Você só deu um exemplo, o correto é postar um modelo com vários exemplos, pois as formulas são especificas, confere se assim ajuda no seu projeto

Se minha resposta foi útil, clique em obrigado é uma forma de agradecimento da ajuda

Se você Visitante Também gostou e foi útil pode clique em obrigado

Decio

EXCEL FORMATO PERSONALIZADO

Enviado: 28 Out 2017 às 17:45
por Peter007
obrigado decio, pela ajuda mas não resultou.
a titulo de exemplo o que eu preciso é que por exemplo estes casos abaixo fiquem assim
954/17.5PCSNT---000954/17.5PCSNT
816/17.6PLSNT---000816/17.6PLSNT
33254/17.3PASNT---033254/17.3PASNT
577/17.0PHAMD--000577/17.0PHAMD
28/17.4PESNT-----000028/17.4PESNT
8/17.4PETNT---000008/17.4PETNT

Re: EXCEL FORMATO PERSONALIZADO

Enviado: 28 Out 2017 às 22:31
por gfranco
Boa noite.
Imaginando que os dados estejam na coluna "A" começando em "A1", digite em "B1" o seguinte:
Código: Selecionar todos
=REPT("0";16-NÚM.CARACT(A1))&A1
E arraste para as demais.
At
Gfranco

Re: EXCEL FORMATO PERSONALIZADO

Enviado: 28 Out 2017 às 23:27
por babdallas
Ótima solução Giovani! Simples e eficiente! Parabéns!

EXCEL FORMATO PERSONALIZADO

Enviado: 29 Out 2017 às 16:30
por Peter007
è isso mesmo, conseguiu ajudar-me muiiito obrigado gfranco

EXCEL FORMATO PERSONALIZADO

Enviado: 29 Out 2017 às 17:25
por Peter007
Mais um pedido de ajuda. A solução do gfranco é optima, mas será que nâo dá para por na própria celula A1 em vez de estar a copiar para a celula B1, é que assim formatava os valores das celulas que já lá se encontram e quando inserisse mais dados ela formatava para o formato correcto automaticamente ( como se fosse o cep por exemplo, mas com o formato que euu necessito )

Re: EXCEL FORMATO PERSONALIZADO

Enviado: 29 Out 2017 às 19:09
por gfranco
Boa noite Peter007.
Pelo que entendi vc quer aplicar a formatação personalizada nesses dados para que "pareçam" ter o formato que vc demonstrou, ou seja, completar com zeros à esquerda as "casas" faltantes para que todos fiquem com 16 caracteres.
Eu desconheço um tipo de formatação personalizada que trabalhe dessa forma.
Se algum membro souber, gentileza compartilhar.
Estou postando abaixo uma planilha que faz o acréscimo desses zeros no sentido literal da palavra: Não é formatação, é acréscimo mesmo.
Veja se te ajuda.
At.
Giovani.

EXCEL FORMATO PERSONALIZADO

Enviado: 29 Out 2017 às 19:37
por Peter007
mais uma vez obrigado gfranco por essa ajuda precisosa . tem como copiar o codigo vba para a minha planilha?

Re: EXCEL FORMATO PERSONALIZADO

Enviado: 29 Out 2017 às 20:09
por gfranco
Tem sim Peter007.
Proceda da seguinte forma:
Dê um botão direito do mouse onde está o nome da sua planilha conforme imagem:
Imagem

Selecione: "Exibir código"
Feito isso, a janela do vba vai abrir .
Na janela que se abriu cole o código a seguir:
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)

Dim matriz() As Variant, w As Worksheet
Dim ulinha As Long
Dim tamanhoDaMatriz As Long
Dim vstringini As Long, vstringfim As String
Dim zerosFaltantes As Integer
Set w = ActiveSheet
If Target.Column = 1 And Target.Row > 1 Then
Application.ScreenUpdating = False
Application.EnableEvents = False
        ulinha = w.Cells(Cells.Rows.Count, 1).End(3).Row
        matriz = w.Range(Cells(2, 1), Cells(ulinha, 1)).Value
        
                For i = LBound(matriz()) To UBound(matriz())
                vstringfim = ""
                vstringini = VBA.Len(matriz(i, 1))
                
                zerosFaltantes = 16 - vstringini
                If zerosFaltantes = 16 Then GoTo nova_linha
                        If zerosFaltantes > 0 Then
                        
                        For a = 1 To zerosFaltantes
                        vstringfim = vstringfim & "0"
                        
                        
                        
                        Next a
                        
                        
                        End If
                vstringfim = vstringfim & matriz(i, 1)
                matriz(i, 1) = vstringfim
nova_linha:
                Next i



w.Range(Cells(2, 1), Cells(ulinha, 1)).Clear
w.Range(Cells(2, 1), Cells(UBound(matriz()) + 1, 1)).Value = matriz
Application.EnableEvents = True
Application.ScreenUpdating = True
End If


End Sub
Pronto.
Essa planilha já estará funcionando da mesma forma que a enviada acima

EXCEL FORMATO PERSONALIZADO

Enviado: 29 Out 2017 às 20:12
por gfranco
Se tiver alguma dificuldade, posta a planilha aqui no fórum mesmo:
"Clique em + resposta e logo abaixo da janela de digitação vc encontrará o botão para anexar um arquivo"
Que eu coloco pra vc.

Re: EXCEL FORMATO PERSONALIZADO

Enviado: 29 Out 2017 às 22:56
por osvaldomp
Código: Selecionar todos
Sub LeadingZeros()
 Dim c As Range
  For Each c In Range("A1", Cells(Rows.Count, 1).End(3))
   c.Value = Application.Rept(0, 16 - Len(c.Value)) & c.Value
  Next
End Sub

Re: EXCEL FORMATO PERSONALIZADO

Enviado: 02 Nov 2017 às 13:22
por Peter007
[quote="gfranco"]
G franco no eu codigo onde é que eu posso alterar a coluna para actuar, no seu código está na coluna A e eu pretendia por na B. Mais uma vez obrigado