Home > Foro de Excel >

Debates de Excel > Cadena de caracteres

Grupo de Excel
Foro de Excel
18137 Debates | 2009 Documentos | 1 Vídeo | 1 Test | 1 Blog | 675 Imágenes | 16642 Miembros

Cadena de caracteres

Escrito por Marino Muñoz el 27 de Enero

Hola,
como siempre tengo un problema.

Tengo muchas celdas con formato texto, y lo que quiero es insertar un caracter en un posición espeficica en esa cadena de caracteres que tengo en la celda. Por ejemplo

tengo la cadena de caracteres MesiasMarinoMuñozMosca y quiero insertar un espacio o un carater cualquiera para que el resultado sea algo asi: Mesias Marino-Muñoz*Mosca.

¿Cómo lo puedo lograr?. Claro que este proceso lo quiero automatizar para no estar presionado la tecla f2, y escribir el caracter que quiero.

Me pregunto si se puede crear una macro que me ayude con este proceso.


Citar  |  
Ver mensaje      

Abraham Valencia
Lima, Perú
Escrito por Abraham Valencia el 27 de Enero

Pues, ante todo, si realmente todos tus textos tuvieran la misma caracteristcias, es decir, el mismo numero de caracteres por cada apellido y/o nombre, con una simple formula seria super facil:

=IZQUIERDA(A1,5)&" "&EXTRAE(A1,7,6)&" "&EXTRAE(A1,13,5)&" "&EXTRAE(A1,18,5)

Pero, como digo, necesariamente tendrian que tener las mismas caracteristicas ;)
sino, lo mismo que F2 ya que tendrias que hacer una formula distinta por cada texto

y sobre las macros, pues, sino sabes ni un poco de VBA , pues, dificilemten alguien te la hara toda, y ademas, si se da el dilema que menciono, tampoco se podria facilmente

Abraham


Citar  |  
Ver mensaje     

Armando Montes
Chihuahua, México
Escrito por Armando Montes el 7 de Febrero

Hola Marino, ve si esto te sirve, coloca el codigo en el modulo de la hoja donde tengas los nombres, selecciona los nombres y corre la macro, separara los nombres en columnas y podras concatenar insertando los caracteres que4 desees, suerte;
Sub SepararMayus()
Dim rCell As Range
Dim lCount As Long

With CreateObject("vbscript. Regexp")
. Pattern = "([a-z])([A-Z])"
. Global = True
For Each rCell In Selection
lCount =. Execute(rCell). Count
If lCount Then rCell. Resize(, lCount + 1) = Split(. Replace(rCell, "$1" & Chr(1) & "$2"), Chr(1))
Next rCell
End With
End Sub


Citar  |  
Ver mensaje     

Abraham Valencia
Lima, Perú
Escrito por Abraham Valencia el 7 de Febrero

Hola:

Armando, en realidad al ser una macro publica, obviamente no es necesario que vaya en el modulo de la hoja respectiva, y otra cosa importante, es que si los nombres estan en diferentes columnas contigua, pues dicha macro sobreescribira las columnas

La idea es buena, pero, podrias mejorarla ;)

Abraham


Citar  |  
Ver mensaje     

Armando Montes
Chihuahua, México
Escrito por Armando Montes el 7 de Febrero

Hola Abraham, coincido en todo pero con la info proporcionada no quise elaborar mas en tanto no avise Marino, ya ves cuantos temas quedan en el aire, bye


Citar  |  
Ver mensaje     

Marino Muñoz
Popayán, Colombia
Escrito por Marino Muñoz el 30 de Octubre

Hola, no habia revisado el foro hace algun tiempo,
este tema ya lo resolvi
hice lo siguiente
con la funcion extrae() separe los caracteres que necesitaba, en la siguiente columna escribi el separador y luego concatene todas las celdas, auque esta no fue la solucion mas rapida y la mejor solucion esta es la primera opcion

de todas maneras agradezco a todas las personas que dedican su valioso tiempo en darme una respuesta


Citar  |  
Ver mensaje     


Responder


Quiero recibir alertas por email cuando haya mensajes nuevos en este debate

Al escribir en el debate:
  1. Repasa la ortografía y no escribas en formato SMS.
  2. Lee el texto dos veces antes de publicar.
  3. No escribas todo en mayúsculas o negritas.
 
Páginas internacionales: España  |  Italia  |  Francia  |  México  |  Alemania  |  Reino Unido  |  Argentina  |  Chile  |  Colombia  |  USA

Búsquedas frecuentes: tipografia toy story cura vitiligo gamalate modelo administrativo mediandorra

Emagister cumple la Ley Orgánica 15/1999 de 13 de diciembre, de Protección de datos de Carácter Personal, y posee el código de inscripción nº 2002010053 del Registro General de la Agencia de Protección de Datos. Copyright © 1999/2000 - Grupo Intercom - Todos los derechos