Alto de fila automático no funciona

30/06/2005 - 21:08 por javi | Informe spam
Hola

Tengo varias celdas con la siguiente fórmula:

=SI($B20="";"";SI(ESERROR(BUSCAR_art($B20;$I$14;2));"El Código
Introducido no corresponde a ningún producto";BUSCAR_art($B20;$I$14;2)))

Algunos productos ocupan varias filas dentro de la celda; para que
aparezca todo bien tengo puesta la opción AJUSTAR TEXTO, pero el alto de
fila no se ajusta automáticamente ya que es una fórmula. Si la edito y
acepto tampoco se establece el alto automáticamente, incluso al hacer
doble clic en el borde inferior del indicador de fila o por el menú
FORMATO - FILA - AUTOAJUSTAR, tampoco se ajusta el alto.

¿Cómo puedo hacer para que cuando yo quiera (pulsando un botón,
añadiendolo al código,...) se reajuste el alto de fila correctamente en
cada caso?

Muchas gracias.

Javi
 

Leer las respuestas

#1 Héctor Miguel
01/07/2005 - 00:34 | Informe spam
hola, javi !

... varias celdas con la siguiente formula:
=SI($B20="";"";SI(ESERROR(BUSCAR_art($B20;$I$14;2));"El Codigo... producto";BUSCAR_art($B20;$I$14;2)))
... tengo puesta la opcion AJUSTAR TEXTO, pero el alto... no se ajusta automaticamente ya que es una formula
... que cuando yo quiera (... boton... codigo,...) se reajuste el alto de fila... en cada caso?



considerando que el ajuste de lineas al texto en el formato de celdas [como ya lo has descubierto]...
-> es 'aplicable' SOLO a 'entradas directas' en dicha/s celda/s
-> NO es 'detectado' cuando la celda varia su contenido por formulas/funciones...
[creo que] solo nos queda buscar alternativas por codigo... 'aunque' [aun por codigo]...
-> NO hay evento que 'detecte cambios' en celdas ->con formulas<-... excepto el '_calculate'
[siempre y cuando definas variables ->estaticas<- que esten 'monitoreando' sus contenidos]
-> 'detecta' [en el evento '_change'] si la/s celda/s modificada/s 'tiene/n algo que ver con...' [precedente/s]
por ejemplo en el modulo de codigo de 'esa' hoja suponiendo que la formula esta en 'A1' ==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

notas: 'toma en cuenta' que... ->se pierde<- el beneficio del deshacer... undo... ctrl+z :((
si son varias celdas, se necesitara una variable que pueda 'monitorear' [tambien] sus precedentes
y... [si ademas] las precedentes estan en hoja/libro 'aparte'... el codigo resultara mas 'complicadillo' :-(

saludos,
hector.

Preguntas similares