Ir ao conteúdo

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


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

Posts recomendados

Postado

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.

 

  • Solução
Postado

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
Postado
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 👍👍👍

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...