Ir ao conteúdo
  • Cadastre-se

Excel Formatar ponto automaticamente no meio de uma descrição


Ir à solução Resolvido por Edson Luiz Branco,

Posts recomendados

Bom dia, 

 

gostaria de saber se é possível ao digitar uma informação em uma célula, a mesma formatar pontos automaticamente entre ela

 

Ex: em uma coluna é sempre inserido nas células a seguinte informação : S13F341A, S13F341B, S13F341C e assim por diante.

 

gostaria que a digitar S13F341A a mesma retornasse S13.F34.1A automaticamente

 

seja por formula ou macro, ambas me ajudarão.

 

Link para o comentário
Compartilhar em outros sites

  • Solução

Bom dia, @Rafael nunes da silva

 

Qual é o critério? 3 caracteres, 1 ponto, 3 caracteres, 1 ponto, 2 caracteres... Seria isso?

Se sim, supondo que você queira monitorar as entradas dos códigos de 8 caracteres de qualquer célula da coluna A de uma determinada planilha, clique com o botão direito na "orelha" da planilha e escolha "Exibir Código".

Cole o seguinte código:

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim c As Range
  If Not Intersect(Target, Me.Columns(1)) Is Nothing Then
    Application.EnableEvents = False
      For Each c In Target.Columns(1).Cells
        If Len(c.Value) = 8 Then
          c.Value = Left(c.Value, 3) & "." & Mid(c.Value, 4, 3) & "." & Right(c.Value, 2)
        End If
      Next c
    Application.EnableEvents = True
  End If
End Sub

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

4 horas atrás, Edson Luiz Branco disse:

Bom dia, @Rafael nunes da silva

 

Qual é o critério? 3 caracteres, 1 ponto, 3 caracteres, 1 ponto, 2 caracteres... Seria isso?

Se sim, supondo que você queira monitorar as entradas dos códigos de 8 caracteres de qualquer célula da coluna A de uma determinada planilha, clique com o botão direito na "orelha" da planilha e escolha "Exibir Código".

Cole o seguinte código:


Private Sub Worksheet_Change(ByVal Target As Range)
  Dim c As Range
  If Not Intersect(Target, Me.Columns(1)) Is Nothing Then
    Application.EnableEvents = False
      For Each c In Target.Columns(1).Cells
        If Len(c.Value) = 8 Then
          c.Value = Left(c.Value, 3) & "." & Mid(c.Value, 4, 3) & "." & Right(c.Value, 2)
        End If
      Next c
    Application.EnableEvents = True
  End If
End Sub

 

Era isso mesmo. muito obrigado 👍👍👍

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...