martes, 11 de junio de 2013

Función VBA para extraer números en Excel.
Si has leído con detenimiento las secciones anteriores encontrarás muy fácil entender el siguiente código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Function EXTRAENUM(cadena As String)

'Variable numeros contendrá solo números de la cadena
Dim numeros As String
numeros = ""

'Recorrer la cadena
For i = 1 To Len(cadena)
     
    'Evaluar SI el carácter actual es un número
    If IsNumeric(Mid(cadena, i, 1)) Then
         
        'Concatenar valor numérico a la variable numeros
        numeros = numeros & Mid(cadena, i, 1)
     
    End If
Next

'Devolver los números encontrados
EXTRAENUM = numeros

End Function


Utilizando esta nueva función podremos analizar el valor de una celda carácter por carácter y extraer todos los valores numéricos contenidos en ella. En la siguiente imagen puedes observar algunos ejemplos de uso de la función recién creada:
Es importante mencionar que el resultado de nuestra nueva función es una cadena de texto y por eso en la imagen anterior vemos el valor de las celdas de la columna B alineados a la izquierda. Si queremos convertir inmediatamente en número el resultado de la función EXTRAENUM, entonces podemos multiplicarlo por uno.
Puedes notar la diferencia con el resultado anterior porque en este caso los valores están alineados a la derecha indicando que Excel los ha reconocido como valores numéricos y están listos para realizar cualquier cálculo con ellos.

No hay comentarios:

Publicar un comentario