Jump to content

Extracción caracteres de cadena de texto


Recommended Posts

Buenos dias,

Lo primero quiero dar las gracias por aceptarme en este foro, contribuiré en él todo lo que pueda.

En segundo lugar, queria compartir un archivo con el que llevo trabajando varios dias y no consigo dar con una solución para el problema que os expongo a continuación:

En este archivo, tengo en la columna "A" cadenas de texto de las cuales deseo extraer un "codigo" que no siempre es el mismo (Los diferentes "codigos" que deseo extraer son los que se muestran en la tabla de la derecha"), el problema principal que me he encontrado es que cada "codigo" tiene un numero de caracteres diferentes por lo que dificulta su formulación. Ademas, el "codigo" que busco no siempre se encuentra al principio de la cadena de texto y en ocasiones en una misma cadena de texto aparecen varios "codigos".

El resultado deseado seria el siguiente, en la columna "B" quedaria el codigo extraido en funcion de la tabla de la derecha y en columna "C" el nombre asignado a este "codigo":

image.thumb.png.de75fdb792c34b07e5668d3be2f7ac83.png

Espero haber explicado bien el problema, quedo atento a vuestas opiniones.

Muchisimas gracias.

Un saludo.

Prueba.xlsx

Link to post
Share on other sites

Mil gracias Gabriel,

Me es realmente útil tu aporte.

En las cadenas de texto donde hay más de un código (Ej: Fila 6), la función devuelve el primer código que encuentra en la tabla derecha empezando por arriba. ¿Crees que hay alguna forma de que la función me devuelva el primer código que encuentre en la cadena de texto empezando por la izquierda?

Ejemplo: En la fila 6 la función devuelve # cuando el primer código que debería de encontrar es US.

De nuevo, muchas gracias.

Link to post
Share on other sites
a


  • Crear macros Excel

  • Posts

    • Ya lo solucione de la siguiente manera: Private Sub GenerarInforme_Click() Dim elementoLista As Long Dim arreglo As Variant With ListBox1 For elementoLista = 0 To .ListCount - 1 If .Selected(elementoLista) = True Then seleccionados = seleccionados + 1 Dim ary(1 To 100) As String arreglo = .List(elementoLista) ary(seleccionados) = arreglo End If Next elementoLista End With If Len(arreglo) = 0 Then MsgBox "No hay elementos seleccionados" End If Hoja4.Range("BASE").AutoFilter _ Field:=7, _ Criteria1:=Array(ary), _ Operator:=xlFilterValues End Sub cambié esta linea Dim ary(1 To seleccionados) As String por esta Dim ary(1 To 100) As String y esta linea arreglo = arreglo & .List(elementoLista) & vbCrLf por esta otra arreglo = .List(elementoLista)  
    • Buenas tardes; Por favor, ayuda...... Hasta este año no he tenido problemas con el número de semana en las macros que tengo hechas, digo hasta este año porque hoy al actualizar y meter los datos del año que viene .....😯 No sale el número de semana que tendría que salir. El número de semana le estoy sacando de la siguiente forma: día="01/01/2021" Numero_semana=format(format(día,"ww"),"0#") El número de semana resultante debería de ser 53 pero me está dando 01. Como puedo solucionarlo. Estoy con el móvil, si necesitais el Excel con el ejemplo enciendo el ordenador y lo subo. Muchísimas gracias.  
    • Hola ¿Para que necesitas mas fuentes?   Saludos 
    • Gracias por responder Haplox, te comparto el archivo... actualmente hace el filtro pero no me muestra ningún registro filtrado...agradezco tu ayuda. plantilla (1).xlsm
    • Elimina o limpia los permisos, revisa en: "Data Source Settings" y elegir a eliminar permisos Luego vuelve a probar con la conexion y utiliza las credenciales de ser posible    Saludos   
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy