Fórmula para Extraer Valores por Posición

Obed

30/01/13

Facil y rapido

Haz tu trabajo con mucha rapidez y de manera más sencilla.

Ponte en contacto.

Soporte

Resuelve todas tus dudas y recibe la mejor asesoría en en los proyectos que desarrolles.

¡Contáctanos!

Reportes

Desempéñate mejor en tus tareas con nuestros reportes en Excel.

¡Te decimos como lograrlo!

Te haz encontrado que con frecuencia necesitas extraer valores numéricos ubicados en diferentes posiciones en una cadena de texto y tienes que hacer hasta lo imposible para extraerlos. Deja de preocuparte, que con esta fórmula que estas por ver te será más fácil la vida cuando se trate de extraer montos ubicados en posiciones no uniformes.

Copia y pega el código VBA en un módulo estandar en tu libro de Excel y la fórmula estará disponible en tu libro.

Para llamar la fórmula utiliza esta sintáxis:
     =ExtraeValor(Celda donde se encuentra el valor, Posición del valor a extraer)
     =ExtraeValor(A2,3)

Decargar xls

Código VBA:

'****************************************'
' Email: obed.cruz@exceltrabajaporti.com '
' www.exceltrabajaporti.com              '
'****************************************'
Option Explicit

Function ExtraeValor(varValor As Variant, iPos As Integer)
Dim RegEx As Object, objMatch As Object
Set RegEx = CreateObject("Vbscript.RegExp")
  With RegEx
   .MultiLine = True
   .Pattern = "\d+.?\d+"
   .Global = True
    If .test(varValor) Then
     Set objMatch = .Execute(varValor)
      If objMatch.Count >= iPos Then
       ExtraeValor = objMatch(iPos - 1)
       ExtraeValor = ExtraeValor * 1
      End If
    End If
  End With
 If ExtraeValor = Empty Then ExtraeValor = "¡No es valor numérico!"
End Function
 
 
Copyright © 2022 Exceltrabajaporti.com - Todos los derechos reservados.