Visual Basic para Aplicaciones - Salto de linea dentro de ua celda

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Salto de linea dentro de ua celda

Publicado por Edgar (7 intervenciones) el 19/02/2017 14:23:53
Saludo. Vengo buscando ayuda, tengo esta macro:
1
2
3
4
5
6
7
8
'Set Celda = Hoja4.Range("A1")
k = 30
If Len(Celda.Text) > k Then
    n = InStrRev(Celda.Text, " ", k + 1)
    If n > 0 Then
       Celda.Value = RTrim(Left(Celda, n)) & Chr(10) & Mid(Mid(Celda, 2), n)
    End If
End If

hace un salto de linea a los k caracteres, entonces lo que quiero es que realice el salto de linea cada k caracteres, como esta lo realiza solo una vez , si alguien puede ayudarme se los agradezco
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Salto de linea dentro de ua celda

Publicado por JuanC (565 intervenciones) el 19/02/2017 23:39:16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Dim k%, n%
Dim celda As Range
Dim s$, t$
Set celda = Range("A1")
celda.Value = "esto es una prueba"
 
s = celda.Text
k = 6
 
begin:
If VBA.Len(s) > k Then
   n = VBA.InStrRev(s, " ", k + 1)
   If n > 0 Then
      t = t & VBA.Trim(VBA.Mid(s, 1, n)) & "|" 'VBA.Chr(10)
      s = VBA.Trim(VBA.Mid(s, n))
      GoTo begin:
   Else
        t = t & s
   End If
Else
     t = t & s
End If
 
MsgBox t
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Salto de linea dentro de ua celda

Publicado por Edgar (7 intervenciones) el 20/02/2017 05:12:54
Muchas gracias por tu aporte de verdad.

Solo un pequeño detalle, si escribo un parrado y le digo cada 20 caracteres has un salto de linea, lo hace perfectamente, pero si una linea tiene solo 5 caracteres y comienzo otro párrafo para el siguiente salto me considera los 5 caracteres anteriores, quiere decir q en esta nueva linea hace el salto a los 15 caracteres.

Te pregunto es posible modificar este detalle??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Salto de linea dentro de ua celda

Publicado por JuanC (565 intervenciones) el 20/02/2017 11:05:02
seguramente se puede, no tengo el código completo de lo que estás haciendo, quizá alcance con iniciar la variable t = ""
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar