Visual Basic para Aplicaciones - Mantener altura de rango de datos suprimiendo o insertando líneas

Life is soft - evento anual de software empresarial
 
Vista:
Imágen de perfil de César
Val: 10
Ha disminuido 1 puesto en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Mantener altura de rango de datos suprimiendo o insertando líneas

Publicado por César (6 intervenciones) el 25/05/2018 23:40:49
Buenas

Otra dudilla.

Me estoy trabajando un sistema de facturación con formularios vba y excel y tengo una dudilla jeje.

A la hora de confeccionar la factura tengo un rango de datos el cual tiene una altura (340píxeles) divididos en 17 filas, cuando inserto una descripción, si esta es muy larga, tengo un autofill para que la fila me muestre toda la descripción, pero si la línea me aumenta de 20 píxeles (el tamaño original) a 40 píxeles (Dos líneas, por poner un ejemplo) el tamaño del rango pasa a ser de 360píxeles y me descoloca toda la hoja de la factura.

Ahí va la consulta:
¿Hay alguna macro que me sume el alto de las filas del rango y si es más de 340 píxeles me elimine una fila y si es menos me la añada?

Muchas gracias por adelantado
ElOr
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
Imágen de perfil de Antoni Masana
Val: 1.134
Oro
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Mantener altura de rango de datos suprimiendo o insertando líneas

Publicado por Antoni Masana (498 intervenciones) el 28/05/2018 07:26:04
Se puede hacer una macro que reajuste el tamaño para que no se descoloque. en algún momento se ejecuta la macro, suma la altura de las 17 filas y si hace más de 340 ui reajustando las últimas filas hasta alcanzar el valor deseado.
Para mas detalles habria que ver el libro.

Saludos.
\\//_
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
Imágen de perfil de César
Val: 10
Ha disminuido 1 puesto en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Mantener altura de rango de datos suprimiendo o insertando líneas

Publicado por César (6 intervenciones) el 28/05/2018 15:24:28
Buenos días

Lo primero, muchas gracias por tu tiempo.

Adjunto el libro para que, si puedes, le eches un vistazo. Aún está sin acabar, va a tener más formularios entre otras cosas.
Me interesa bastante que el rango mantenga el tamaño porque, en la zona de abajo de la factura, van a ir imágenes de contacto, firmas etc.

Lo ideal es, que cuando lleves una línea a la factura, la macro se ejecutase, así siempre estaría en el tamaño ideal.

Gracias de nuevo Antoni
ElOr
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
Imágen de perfil de Antoni Masana
Val: 1.134
Oro
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Mantener altura de rango de datos suprimiendo o insertando líneas

Publicado por Antoni Masana (498 intervenciones) el 29/05/2018 08:07:28
Hay una macro en la hoja1 que es la que se encarga de ajustar

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Total As Integer
    If Target.Column = 2 Then
        If Target.Row >= 12 And Target.Row <= 27 Then
            Total = 0
            For a = 12 To 28
                If Total + Rows(a).RowHeight <= 340 Then
                    Total = Total + Rows(a).RowHeight
                Else
                    Rows(a).RowHeight = 0
                End If
            Next
        End If
    End If
End Sub

Quizas se tenga que pulir algún detalle de diseño.

Saludos.
\\//_
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