separar texto insertando filas

Solo consultas sobre macros y código VBA Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

separar texto insertando filas

Notapor relacon » 27 Dic 2011 08:14

Hola,

tengo un archivo excel donde una columna contiene textos de muchos caracteres en cada celda y lo tengo que importar a un software externo. el problema viene cuando el software no acepta más de 250 caracteres por celda.

lo que quiero es adecuar el excel para que el texto se divida en varias celdas con menos de 250 caracteres en diferentes filas, no columnas, a ser posible en el último espacio en blanco (" ") antes del caracter 250 y que continúe en la celda de la fila siguiente, pero que no se cargue el contenido de ésta, es decir, que introduzca una fila y ahí incluya el texto extraido.

en resumen, que el texto que p.e. tengo en A1 con 400 caracteres se divida en B1 con hasta 250 caracteres y en B2 con los 150 caracteres restantes, todo esto introduciendo una fila de modo que el texto que originalmente estaba en A2 pase a estar en A3

¿alguien puede ayudarme?

gracias de antemano...
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
relacon
Miembro Nuevo
Miembro Nuevo
 
Registrado: 27 Dic 2011 07:53

Re: separar texto insertando filas

Notapor Antoni » 27 Dic 2011 15:15

Hola:

Prueba con esta macro:

Código: Seleccionar todo
Sub Partir(): On Error Resume Next
   For x = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
      If Len(Range("A" & x).Value) < 251 Then
         Range("B" & x).Value = Range("A" & x).Value
      Else
         p = InStrRev(Range("A" & x).Value, " ")
         If p > 0 Then
            Range("B" & x).Value = Left(Range("A" & x).Value, p)
            Rows(x + 1).Insert
            Range("B" & x + 1).Value = Mid(Range("A" & x).Value, p + 1)
         End If
      End If
   Next
End Sub


Saludos
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Antoni
Miembro Frecuente
Miembro Frecuente
 
Registrado: 22 Dic 2009 04:58
Ubicación: GALICIA (ESPAÑA)

Re: separar texto insertando filas

Notapor relacon » 28 Dic 2011 06:51

Hola Antoni,

gracias por la ayuda, pero parece que lo que hace tu macro es dividir el texto desde el último espacio en blanco del texto, y no desde el último espacio antes del caracter 250, que es lo que yo necesito.

Un saludo,
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
relacon
Miembro Nuevo
Miembro Nuevo
 
Registrado: 27 Dic 2011 07:53

Re: separar texto insertando filas

Notapor Antoni » 28 Dic 2011 08:51

Hola:

Tienes razón, lo reviso y lo vuelvo a subir.

Saludos.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Antoni
Miembro Frecuente
Miembro Frecuente
 
Registrado: 22 Dic 2009 04:58
Ubicación: GALICIA (ESPAÑA)

Re: separar texto insertando filas

Notapor Antoni » 29 Dic 2011 12:20

A ver ahora:

Código: Seleccionar todo
Sub Partir(): On Error Resume Next
   For x = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
      If Len(Range("A" & x).Value) < 251 Then
         Range("B" & x).Value = Range("A" & x).Value
      Else
         p = InStrRev(Left(Range("A" & x).Value, 250), " ") '<-------------
         If p > 0 Then
            Range("B" & x).Value = Left(Range("A" & x).Value, p)
            Rows(x + 1).Insert
            Range("B" & x + 1).Value = Mid(Range("A" & x).Value, p + 1)
         End If
      End If
   Next
End Sub
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Antoni
Miembro Frecuente
Miembro Frecuente
 
Registrado: 22 Dic 2009 04:58
Ubicación: GALICIA (ESPAÑA)

Re: separar texto insertando filas

Notapor relacon » 29 Dic 2011 14:03

Funciona perfecto!!

Muchas gracias por la ayuda.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
relacon
Miembro Nuevo
Miembro Nuevo
 
Registrado: 27 Dic 2011 07:53


Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 12 invitados