Extraer de una cadena de texto todo lo que este después de un carácter

Los molesto para pedir su ayuda pues necesito una macros para extraer de una celda todo lo que esta después de los ":" que trae el texto por ejemplo:

CLAVE DE PROVEEDOR               : ELPATITO25

CLAVE DE PROVEEDOR               : 365BASE100                                              

De estas cadenas necesito extraer

ELPATITO25

365BASE100

Cabe mencionar que los nombres pueden ser más largos y son "N" numero de registros.

Se que puede ser algo muy simple pero no he conseguido hacerlo solo he logrado hacerlo con la siguiente fórmula.

=EXTRAE(A2,HALLAR(":",A2,1)+1,LARGO(A2))

Sin embargo el peso del archivo se incrementa muchísimo ya que tengo que hacerlo para cada registro.

2 respuestas

Respuesta
1

Asumiendo que tus datos empiezan en la celda A2

La salida quedará en la celda B2 y hacia abajo.

En tu ejemplo, después de los ":" hay un espacio, por eso en la macro puse "+ 2", pero si no hay un espacio, entonces cambia a "+ 1"

Sub Extrae_Dato()
  Dim a As Variant, b As Variant
  Dim i As Long
  '
  a = Range("A2", Range("A" & Rows.Count).End(3)).Value
  ReDim b(1 To UBound(a), 1 To 1)
  '
  For i = 1 To UBound(a)
    b(i, 1) = Mid(a(i, 1), InStr(1, a(i, 1), ":") + 2)
  Next
  'Salida
  Range("B2").Resize(UBound(b)).Value = b
End Sub

Muchas Gracias Dante eres un AS es exacto lo que necesitaba.

veras que lo voy a estudiar bien y comprenderlo para molestar lo menos posible.

Nuevamente Mil Gracias.

Respuesta
1

José, te anticipo que no tengo ni idea de Excel, para eso está Dante que es el que de verdad sabe de esto, pero por si puede darte una idea las fórmulas.

Si escribo

Cuando pongo el cursor en el cuadro de abajo

Si hubiera escrito

Al poner el cursor

El cuadro de arriba se llama Original y el de abajo Copia, y lo único que le digo es que

Copia = Right([Original], Len([Original]) - 2)

También podría usarse StrRev, pero creo que así es más sencilla. Corta desde la derecha la cadena en una longitud de Original, pero quitándole los dos puntos y el espacio.

Pero como te decía el Excel no es lo mío

Muchas Gracias Julián, de verdad agradezco mucho tu ayuda, desafortunadamente es una base muy grande y el poner formulas no me va ya que el archivo es ocupado por muchas personas, pero de verdad muchas gracias.

espero que Dante o alguno de los otros Genios de la comunidad me pueda ayudar. 

Nuevamente Muchas Gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas