Cambiar alto de fila predeterminado Y ajustar automáticamente

Por más que vaya investigando y trasteando, me sigue trayendo de cabeza: busco el modo de autoajustar el alto de fila de una tabla, partiendo de un alto de fila predeterminado mayor que el predeterminado de serie.

Explicación más detallada:

Uso Excel, en este caso, para crear tablas con texto, a veces con bastante texto en una celda.

Si uso "autoajustar alto de fila", me va bien para las celdas con mucho texto, pero entonces las filas con poco texto quedan muy estrechas (el alto predeterminado, o sea, 12,75 creo) restando claridad a la presentación de la tabla.

Si fijo un alto de fila mayor, mi tabla queda mejor, pero entonces no ajusta automáticamente el alto en caso de que no quepa el texto.

En ambos casos, tengo que ajustar manualmente el alto de algunas filas.

¿Existe un sistema para cambiar el alto predeterminado Y autoajustar texto simultáneamente sin tener que hacerlo a mano?

1 Respuesta

Respuesta

¿Quieres ajustar el texto o la fila?

Creo que esto soluciona tu problema

1) Abre excel

2) preciona alt + F11

3) Selecciona tu con clip secundario

4) Insertar modulo

5) Pega este código

Regresa a excel habilita la ficha programador y lo ejecutas desde allí

Sub ajustar()
Dim fila, Final As Integer
For fila = 2 To 300000
If Hoja1.Cells(fila, 1) = "" Then
Final = fila - 1
Exit For
End If
Next
For fila = 1 To Final
Hoja1.Cells(fila, 1).Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Next
End Sub

si tienes alguna duda me avisas

Muchas gracias Joseph. 

Pero no me funciona, el problema sigue igual: o se me ajusta el alto de fila según el texto, pero entonces las filas con una sola línea de texto quedan muy estrechas; o tengo mis filas con el ancho que me gusta, pero entonces no me caben los textos más largos.

He probado a ejecutar el código en otras condiciones (hoja en blanco; libro nuevo...), pero entonces me devuelve un error [Se ha producido el error '1004' en tiempo de ejecución: Error en el método Select de la clase Range.]

Gracias por tu ayuda!

Súbeme una copia de tu libro para editarlo

Aquí tienes una muestra (no he encontrado cómo subir archivos aquí mismo).

http://www.cjoint.com/c/GAnnIPOFtjX 

No es un único libro, ya que utilizo este formato para intercambiar consultas con mis clientes (soy tradutora).

Muchas gracias por tu tiempo. :)

Después de un buen rato la mejor solución que se me ocurrió fue poner un alto de fila fijo, y que la columna se auto ajuste

Si con el alto de la fila a 45 no se ve completo

El ancho de la columna lo soluciona

https://drive.google.com/file/d/0B1UUB6fBagdmNkFSOG1Kb3ZzQTg/view?usp=sharing 

Cada vez que modifiques una celda hace lo que te acabo de escribir, no olvides valorar si te funciona asi

Gracias, Joseph, pero no me vale esta solución: para ser funcional, la tabla debe verse entera a lo ancho sin necesidad de correr la barra, sin contar que, si colocamos en un única línea párrafos largos de texto, quedan de muy mal leer. 

Me da a mí que estoy pidiendo lo imposible y que tendré que seguir ajustando a mano las filas que no me queden como quiero.

¡Con lo fácil que sería si el propio Excel tuviera una función para personalizar el alto de fila predeterminado!

Pero esto le da el alto de la fila que necesitas, si quieres que sea mas grande o pequeño solo cambias el 45, pero si quieres que se auto ajuste cambias toda esa fila de código por

Cells(fila, 1). EntireRow. AutoFit en esta se auto ajustan la filas

Cells(fila, 1). RowHeight = 45 en esta tu pones el ancho de la fila

Tu decides cual te sirve

Sub ajustar()
Dim fila, colum, columF, Final As Integer
For fila = 2 To 300000
If Cells(fila, 1) = "" Then
Final = fila - 1
Exit For
End If
Next
For fila = 2 To 30000
If Cells(fila, 1) = "" Then
Final = fila - 1
Exit For
End If
Next
For fila = 2 To Final
Cells(fila, 1).RowHeight = 45
Next
end sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas