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