USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Extrair apenas os numeros de uma string
WALMIR
SERRANA
SP - BRASIL
ENUNCIADA !
Postada em 16/02/2008 00:25 hs            
Ola pessoal, estou com uma duvida. Tenho que converter uma planilha em Excel para Access, mas ocorre que um dos campos da tabela Excel apresenta a senguinte formatação: EX: 452.329-5, este é um campo denominado matricula. Pegunta:
- Como eu faço pra extrair apenas os numeros deste campo. Vou converter esta planilha para um banco access, mas antes tenho que formatar este campo para somente numeros pois vai ser index. Será que Alguem Pode ajudar;

Grato pela atenção de todos.
   
JOM
BOM JESUS DA LAPA
BA - BRASIL
ENUNCIADA !
Postada em 16/02/2008 09:45 hs            
Acho que o metodo para retirar estes caracteres seria o Replace, assim:
 
campo_limpo = replace(campo_com_caracteres,".","",,,vbTextCompare)
 
onde campo_com_caracteres = 456.132.456
Campo_limpo ficaria então assim : 456132456
 
   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
Postada em 16/02/2008 10:44 hs            
Use esta função, ela estrairá somente os numeros do text excluindo qualquer outro caractere que não seja numero.
 
Public Function SoNumero(Text As String) As String
    Dim i As Integer, j As String
    For i = 1 To Len(Text)
        If Asc(Mid(Text, i, 1)) < 48 Or _
           Asc(Mid(Text, i, 1)) > 57 Then
        Else
            j = j & Mid(Text, i, 1)
        End If
        SoNumero= j
    Next
End Function

 

Exemplo de uso:

em um form inclua 2 textbox e 1 commandbutton
 
e cole este código + a função anterior
 
Private Sub Command1_Click()
Text2.Text = SoNumero(Text1.Text)
End Sub
 
Private Sub Form_Load()
Text1.Text = "1.23457-7456/3"
Text2.Text = ""
End Sub
 
boa sorte
 
até
TÓPICO EDITADO
   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 16/02/2008 12:26 hs            
Só lembrando este nº 452.329-5 pode ser index também, ele só não pode se repetir, ou seja um campo index não se repete, porém ele pode ser numero letras, etc....
 
falou até
   
WALMIR
não registrado
Postada em 16/02/2008 21:14 hs   
Obrigado Pela ajuda de todos. Vou ver o que consigo aqui.
     
Sandro Neuhaus
não registrado
ENUNCIADA !
Postada em 17/04/2017 16:03 hs   
Olá pessoal, gostaria de agradecer a postagem do Treze  muito legal..

Fiz um ajsute para meu caso que poe ser útil para outro colega. Eu precisava que além dos números permanecessem o ponto e ou a vírgula.

Segue como ficou:

'tratamento que retorna somente números, com exceção do . e ,
Function retornaSoNumero(Numero As String) As String
    Dim Tamanho As Integer, RESULTADO As String, A As Integer
    
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Função que pega apenas os valores numericos da string
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    If Numero = "" Then
        retornaSoNumero = ""
        Exit Function
    End If
    
    Tamanho = Len(Trim(Numero))
    
    For A = 1 To Tamanho
        If (Asc(Mid(Numero, A, 1)) >= 48 And Asc(Mid(Numero, A, 1)) <= 57) Or Asc(Mid(Numero, A, 1)) = 44 Or Asc(Mid(Numero, A, 1)) = 46 Then
            RESULTADO = RESULTADO + Mid(Numero, A, 1)
        End If
    Next
    retornaSoNumero = RESULTADO
End Function

Exemplo:
strValor = retornaSoNumero("<15,2")
strValor receberá 15,2

   
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página