Mas vueltas con el alto de fila

19/07/2005 - 23:54 por javi | Informe spam
Hola

Perdon por la insistencia, pero, a pesar de la ayuda de Hector, no logro
que funcione.

El problema es que tengo una celda combinada, en la que hay un BUSCARV
que obtiene los datos de otro libro distinto. A pesar de que el ajuste
está puesto en varias lineas, el alto de fila no se autoajusta, ni
entrando en la celda, ni con Formato>Fila>Autoajustar, ni con doble clic
en el indicador de fila.

No se si el problema es por ser una celda combinada o por obtener lo
datos de un libro distinto.

El código que me envió Hector, es este:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a1].Precedents) Is Nothing Then
[a1].WrapText = False: [a1].WrapText = True
End If
End Sub

He probado a cambiar la celda, he probado con este otro codigo (si es
una burrada solicito perdon para los novatos)

Private Sub Worksheet_Calculate()

Range("c15:e15").Select 'Rango de las Celdas Combinadas
With Selection
.WrapText = True 'Ajuste de linea
.MergeCells = True 'Indicar celdas combinadas
End With
Selection.Rows.AutoFit 'Autoajuste de la fila

End Sub


No sé que mas puedo hacer ¿alguna idea mas?

Muchas gracias

Javi
 

Leer las respuestas

#1 Héctor Miguel
20/07/2005 - 02:26 | Informe spam
hola, javi !

... a pesar de la ayuda de Hector, no logro que funcione.
... tengo una celda combinada... un BUSCARV que obtiene los datos de otro libro distinto
... el ajuste... en varias lineas, el alto de fila no se autoajusta, ni entrando en la celda, ni con [...]
... si el problema es por ser una celda combinada o por obtener lo datos de un libro distinto [...]
Private Sub Worksheet_Calculate()
Range("c15:e15").Select 'Rango de las Celdas Combinadas [...]
... que mas puedo hacer ¿alguna idea mas?



[segun recuerdo]... desde marzo que iniciamos a 'tratar' con este 'detalla'...
-> es la primera vez que mencionas que se trata de ->celdas combinadas<- :(
[que 'por definicion'... NO se 'autoajustan' -NI en alto NI en ancho de las celdas] :\
-> conociendo [ahora] cual es la situacion 'real' [y el rango al que deseas hacer el ajuste']...
prueba con las siguientes lineas...
en el modulo de codigo de 'esa' hoja ==Private Sub Worksheet_Calculate()
Dim AnchoTotal As Single, AnchoCelda As Single, _
Alto As Single, Col As Byte, Comg As Byte
With Me.Range("c15")
Comb = 2
For Col = .Column To .Column + Comb
AnchoTotal = AnchoTotal + Cells(.Row, Col).ColumnWidth
Next
AnchoCelda = .ColumnWidth
.MergeCells = False
.ColumnWidth = AnchoTotal
.EntireRow.AutoFit
Alto = .RowHeight
With .Resize(, Comb + 1)
.Merge
.Columns(1).ColumnWidth = AnchoCelda
.EntireRow.RowHeight = Alto
End With
End With
End Sub

[seguramente] seria mas conveniente cambiar de evento [p.e. al '_change'] y monitorear la celda que 'causa' el cambio
[ademas] es posibe que existan 'otras' celdas en iguales circunstancias -?-
vamos haciendo la prueba y... si cualquier duda [o informacion adicional]... comentas?
saludos,
hector.

Preguntas similares