Alto de fila con celdas ajustadas

08/05/2004 - 22:54 por Pasión Gil | Informe spam
Mi duda es la siguiente:
Tengo varias filas de registros con todas las celdas ajustadas (Formato >
Alinear > Ajustar texto).
Tras introducir datos (textos muy largos), me ajusta el alto de la fila
según la celda con mayor número de caracteres, pero esto no me interesa.
Lo que quiero es ajustar el alto de la fila según el alto de las celdas en
la columna que yo desee. No sé si me explico ...
Gracias por adelantado.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
10/05/2004 - 08:57 | Informe spam
hola, Gil !

... ajustar el alto de la fila segun el alto de las celdas en la columna que yo desee [...]



considerando que =>en una columna<= puede haber =>filas<= de 'diferentes alturas'...
puedes 'usar' el alto de una celda ['cualquiera'] en una fila 'especifica' como 'base' y...
'aplicarla' como 'alto' de otra celda ['cualquiera'] en 'otra' fila 'especifica'
es decir... el 'alto' de una celda.. 'se aplica' a =>toda<= la fila [p.e.]
[...]
ActiveCell.RowHeight = Range("a1").RowHeight
[o...]
Range("c5").RowHeight = Range("z3").RowHeight
[o...] ???

saludos,
hector.
Respuesta Responder a este mensaje
#2 Pasión Gil
10/05/2004 - 19:49 | Informe spam
Héctor,
muchas gracias por tu interés, pero tu solución no me funciona (está claro
que me he explicado muy mal).
Supongamos que las celdas A1, B1 y C1 las defino con : Formato > Celdas >
Ajuste > Alineación > Ajustar texto.
Introduzco, por ejemplo, el siguiente texto en cada celda:
A1: aa
B1: aaaaaaaaaa aaaaaa aaaa
C1: aaaaaaaaaa aaaaaa aaaaaaaaaaaaaa aaaaaa aaaaaaaaaaaaaa aaaaaa
aaaaaaaaaaaaaa aaaaaa aaaa
Quiero que la fila 1 tenga el alto que corresponde a la celda B1. Sin
embargo, al teclear C1, me toma el alto de esta última celda (lo que me
resulta incómodo, dado que, si se introduce una gran cantidad de texto,
puede ocupar una gran parte de la pantalla). Si, como sugieres, establezco
(con código) el alto de fila como el alto de la celda B1, tomaré realmente
el alto de la celda C1 (otra vez me empiezan a entrar serias dudas de si me
estaré explicando bien).
Desde que puse el post, no he dejado de dar vueltas al tema. He consultado
en Google el grupo microsoft.public.excel.worksheet.functions y con fecha
15/8/02 aparece un procedimiento de Jim Rech (aunque para autoajustar fila
con celdas combinadas) que me sirvió como banco de pruebas para la macro que
sigue. Creo que la solución pasa por quitar el atributo de texto ajustado a
la celda C1, autoajustar el alto de línea y tomar esta altura como valor de
altura de la fila. Algo así (discúlpame si la macro no está escrita
eficientemente, pero mis conocimientos de VBA son los que son) :
Sub AutoajustarAltoCeldaTextoAjustado()
Dim CurrentRowHeight As Single
Dim CurrCell As Range
Dim PossNewRowHeight As Single
With ActiveCell
If .WrapText = True Then
Application.ScreenUpdating = False
ActiveCell.Offset(0, 1).WrapText = False
.EntireRow.AutoFit
CurrentRowHeight = .RowHeight
ActiveCell.Offset(0, 1).WrapText = True
.EntireRow.AutoFit
PossNewRowHeight, CurrentRowHeight)
.RowHeight = CurrentRowHeight
End If
End With
' End If
End Sub
De nuevo, muchas gracias.
"Héctor Miguel" escribió en el mensaje
news:
hola, Gil !

> ... ajustar el alto de la fila segun el alto de las celdas en la columna


que yo desee [...]

considerando que =>en una columna<= puede haber =>filas<= de 'diferentes


alturas'...
puedes 'usar' el alto de una celda ['cualquiera'] en una fila 'especifica'


como 'base' y...
'aplicarla' como 'alto' de otra celda ['cualquiera'] en 'otra' fila


'especifica'
es decir... el 'alto' de una celda.. 'se aplica' a =>toda<= la fila [p.e.]
[...]
ActiveCell.RowHeight = Range("a1").RowHeight
[o...]
Range("c5").RowHeight = Range("z3").RowHeight
[o...] ???

saludos,
hector.
Respuesta Responder a este mensaje
#3 Héctor Miguel
10/05/2004 - 22:31 | Informe spam
hola. Gil !

... no me funciona (esta claro que me he explicado muy mal).
... celdas A1, B1 y C1 las defino con : Formato > Celdas > Ajuste > Alineación > Ajustar texto.
Introduzco, por ejemplo, el siguiente texto en cada celda:
A1: aa
B1: aaaaaaaaaa aaaaaa aaaa
C1: aaaaaaaaaa aaaaaa aaaaaaaaaaaaaa aaaaaa aaaaaaaaaaaaaa aaaaaa [...]
... que la fila 1 tenga el alto que corresponde a la celda B1 [...]



'sin importar' que la/s celda/s hagan uso del 'ajuste de texto' para el alto de la fila...
SI aplicas a una [celda de 'esa'] fila un alto 'forzado' [manual... formato -> fila -> alto +/- 'al doble' o...]
el alto de la fila 'permanecera' hasta en tanto 'vuelvas' a usar: formato -> fila -> autoajustar ;)

¿comentas si se 'ajusta' a lo que necesitas?
saludos,
hector.
Respuesta Responder a este mensaje
#4 Pasión Gil
10/05/2004 - 23:56 | Informe spam
Héctor, gracias de nuevo.
Naturalmente, se puede ajustar manualmente el alto de la fila según
necesidades. Sin embargo, la hoja que quiero adaptar tiene más de 1.700
filas, por lo que desearía automatizar el proceso lo más posible (mediante
eventos de hoja, etc).
Es frecuente que muchas celdas contengan más de 1.200 caracteres y, cuando
eso ocurre, la fila ocupa buena parte de la pantalla. Se hace complicado
contemplar de un vistazo lo que contienen las distintas celdas. Me gustaría,
por tanto, y con carácter general, que el alto de la fila lo definiera la
celda adjunta a esa otra donde he introducido tantos caracteres.
Un saludo.
"Héctor Miguel" escribió en el mensaje
news:
hola. Gil !

> ... no me funciona (esta claro que me he explicado muy mal).
> ... celdas A1, B1 y C1 las defino con : Formato > Celdas > Ajuste >


Alineación > Ajustar texto.
> Introduzco, por ejemplo, el siguiente texto en cada celda:
> A1: aa
> B1: aaaaaaaaaa aaaaaa aaaa
> C1: aaaaaaaaaa aaaaaa aaaaaaaaaaaaaa aaaaaa aaaaaaaaaaaaaa aaaaaa [...]
> ... que la fila 1 tenga el alto que corresponde a la celda B1 [...]

'sin importar' que la/s celda/s hagan uso del 'ajuste de texto' para el


alto de la fila...
SI aplicas a una [celda de 'esa'] fila un alto 'forzado' [manual...


formato -> fila -> alto +/- 'al doble' o...]
el alto de la fila 'permanecera' hasta en tanto 'vuelvas' a usar:


formato -> fila -> autoajustar ;)

¿comentas si se 'ajusta' a lo que necesitas?
saludos,
hector.

Respuesta Responder a este mensaje
#5 Pasión Gil
11/05/2004 - 00:19 | Informe spam
Héctor, gracias de nuevo.
Naturalmente, puedo establecer manualmente la altura de una celda y, con
ello, la de la fila correspondiente. Lo que ocurre es que la hoja tiene más
de 1.700 filas y desearía que el proceso fuera automatizado mediente eventos
de hoja, etc.
Tengo muchas celdas que contienen más de 1.000 caracteres. Estas celdas se
encuentran en la misma columna (B, por ejemplo) y al autoajustarse la altura
de la fila, ésta ocupa buena parte de la pantalla. Esto impide moverse con
soltura entre los distintos registros de la hoja.
Lo que quisiera es que el alto de la fila fuera el que corresponde a las
celdas de la columna colindante (A, siguiendo el ejemplo) que, por supuesto,
tendría muchos menos caracteres. Esto haría que las celdas de la columna B
ocultaran gran parte de su contenido, pero la hoja ganaría agilidad.
Un saludo.
"Héctor Miguel" escribió en el mensaje
news:
hola. Gil !

> ... no me funciona (esta claro que me he explicado muy mal).
> ... celdas A1, B1 y C1 las defino con : Formato > Celdas > Ajuste >


Alineación > Ajustar texto.
> Introduzco, por ejemplo, el siguiente texto en cada celda:
> A1: aa
> B1: aaaaaaaaaa aaaaaa aaaa
> C1: aaaaaaaaaa aaaaaa aaaaaaaaaaaaaa aaaaaa aaaaaaaaaaaaaa aaaaaa [...]
> ... que la fila 1 tenga el alto que corresponde a la celda B1 [...]

'sin importar' que la/s celda/s hagan uso del 'ajuste de texto' para el


alto de la fila...
SI aplicas a una [celda de 'esa'] fila un alto 'forzado' [manual...


formato -> fila -> alto +/- 'al doble' o...]
el alto de la fila 'permanecera' hasta en tanto 'vuelvas' a usar:


formato -> fila -> autoajustar ;)

¿comentas si se 'ajusta' a lo que necesitas?
saludos,
hector.

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida