Ir ao conteúdo

Separar Nomes de Números de 1 célula em várias colunas


Posts recomendados

Postado

@joao, veja se este código atende.

Sub ExtraiNúmTexto() Dim p As Long, var1 As Variant, var2 As Variant, m As Long, rngN As Range, i As Long, x As Long  For Each rngN In Range("A1", Range("A" & Rows.Count).End(xlUp))   Do While p < Len(rngN.Value) - 10    p = WorksheetFunction.Find(" ", rngN.Value, p + 1)    var1 = Mid(rngN.Value, m + 1, p - m - 1)    If IsNumeric(Left(var1, 1)) Then      m = p      Cells(rngN.Row, i + 2) = var1      i = i + 1    Else:      var2 = var1      Do       m = p: x = p       If p = Len(rngN.Value) - 10 Then GoTo stpDo       p = WorksheetFunction.Find(" ", rngN.Value, p + 1)       var1 = Mid(rngN.Value, m + 1, p - m - 1)        If IsNumeric(Left(var1, 1)) ThenstpDo:         p = x: m = p: Exit Do        End If       var2 = var2 & " " & var1      Loop      Cells(rngN.Row, i + 2) = var2      i = i + 1    End If   Loop   Cells(rngN.Row, i + 2) = DateValue(Right(rngN.Value, 10))   i = 0: p = 0: m = 0  Next rngNEnd Sub
Postado

Osvaldomp, boa noite

Obrigado por ter respondido

É que eu não sei nem por onde começar. Sou iniciante no Excel e não tenho a menor ideia de fazer esses comandos.

Tem possibilidade de me enviar um passo a passo?

Agradeço desde já.

Abraço

João Célio

Postado

Fala, João. Seguem as dicas para instalar e para rodar o código.

Instale o código abaixo em um módulo comum, assim:
1. copie o código daqui
2. a partir da planilha em que estão os dados tecle 'Alt+F11' para acessar o editor de VBA
3. no menu do editor >> Inserir >> Módulo
4. cole o código na janela em branco que vai se abrir
5. feito! 'Alt+Q' para retornar para a planilha e testar

para rodar o código:
6. tecle 'Alt+F8' >> selecione a macro correspondente >> Executar, ou insira um botão na planilha e vincule-o à macro ou vincule-a a um atalho de teclado (Alt+F8 > Opções).

Postado

 

Como faço?

 

 

Disponibilize o seu arquivo com o código instalado. Tentaremos encontrar o problema.

Postado

@joao

 

No registro da linha 610 consta a data 22/5/1075 e o Excel reconhece datas a partir de 1900, por isso está travando.

 

Há outros registros mais abaixo daquela linha nos quais falta a data. O código vai travar aí também.

Postado

DJunqueira bom dia

Agradeço a ajuda. Dá certo, porém quando vou classificar de A a Z os nomes por ordem alfabética ou por "nota1" da maior para a menor ou "nota2" da maior para menor" ou "nota3" da maior para a menor ou pela "data nascto" da maior para a menor, o programa não aceita fazer essa classificação de A a Z.
Tem algum comando que preciso dar?
Obrigado.
Postado
DJunqueira

Me desculpe a falta de conhecimento para acompanhar seu raciocínio. 

Tentei copiar, p. ex. a coluna dos nomes e inserir como primeira coluna, para selecionar tudo por ordem alfabética, mas aparece essa informação #REF!

Agradeço pelo que já fez, peço a gentileza, se possível, me esclarecer mais detalhado como devo fazer.

Muito obrigado pela paciência.

Estou colocando a planilha de volta para você ver como ficou quando tentei classificar por nomes.

Abraço:

João Célio

 

Final Classificatória.xlsx

  • mês depois...
Postado

você não pode classificar as fórmulas então você tem q copiar e colar especial / Valores em outras colunas.

A planilha abaixo já está com a solução p/ ordem alfabética.

 

Hahahaha e eu sempre aprendendo com as junções de fórmulas que você faz. Substituir e Procurar! Genial! Obrigado por mais uma ;)

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!