¿como una celda puede tener zoom de pantalla completa ?

10/12/2004 - 02:39 por Mariangel | Informe spam
Uso el office 2003, tengo un problema que resolver y es que quiero que la
celda que seleccione y le ponga "zoom de pantalla completa" simplemente se
adecúe a toda la pantalla y no me muestre las casillas adyacentes a ella, y
que no sea ajustando el tamaño de celda, ya que una variación de resolución
en el monitor hará que esto no se vea en pantalla completa (he ajustado altos
y anchos de celda, y cuando cambio la resolución, me aparecen las demas
celdas adyacentes)

Preguntas similare

Leer las respuestas

#1 KL
11/12/2004 - 12:06 | Informe spam
Mariangel,

Desconozco las posibilidades de MSO2003 en este aspecto, ya q tengo MSO97 y
2000. Sin embargo, asumiendo por un lado q no es posible hacer lo q pides
simplemente seleccionando la celda y dando al boton pantalla completa; y por
el otro lado q el zoom y la pantalla completa funcionan igual en las tres
versiones, me parecee q tendras al menos un par de problemas a resolver si
quisieras simular este efecto:
1) el zoom aumenta como max 400% (4x) (creo q forzosamente habra q
manipular el tamano de la celda y de su contenido)
2) como detectas la resolucion de pantalla vigente (si es q realmente es
necesario hay un codigo aqui http://j-walk.com/ss/excel/tips/tip06.htm)
2) como aseguras q las proporciones de la celda sean iguales a los de la
pantalla para q no se vean las celdas adyacentes (asumo tambien q no te
importa q se vean las barras de menus y herramientas de Excel) (se me ocurre
q la propiedad .VisibleRange del objeto Window en Visual Basic podria hacer
el truco).

Dicho lo anterior creo q una de las soluciones podrian ser los dos macros de
abajo asignados a unos botones o atajos.

Saludos,
KL

'--Inicio Codigo--
Sub AumentarCelda()
'En la Hoja2 se guardan los paramentros
'modificados para poder restablecer los
'mas tarde. Esta hoja puede estar oculta.
With Sheets("Hoja2")
.Cells(1, 1) = ActiveWindow.Zoom
.Cells(1, 2) = Rows(ActiveCell.Row).RowHeight
.Cells(1, 3) = Columns(ActiveCell.Column).ColumnWidth
.Cells(1, 4) = ActiveCell.Address
.Cells(1, 5) = ActiveCell.Font.Size
.Cells(1, 6) = ActiveCell.ShrinkToFit
End With

'Nos aseguramos q el zoom sea 100%.
ActiveWindow.Zoom = 100

'Procedemos a aumentar la celda activa.
With ActiveSheet
'Ajustamos su altura a la altura del
'area visible de la ventana de Excel
.Rows(ActiveCell.Row).RowHeight = _
ActiveWindow.VisibleRange.Height
'Ajustamos su ancho al ancho del area
'visible de la ventana de Excel y ademas
'convertimos la unidades correctamente.
.Columns(ActiveCell.Column).ColumnWidth = _
ActiveWindow.VisibleRange.Width / 5.27775709285874
With ActiveCell
'centramos la celda.
.Activate
'aumentamos la fuente al maximo.
.Font.Size = 409
'hacemos q la fuente se ajuste al
'tamano de la celda.
.ShrinkToFit = True
End With
End With
End Sub

Sub RestablecerCelda()
With Sheets("Hoja2")
'Por si la seleccion se habia desplazado
'de la celda aumentada, volvemos a activarla.
Range(.Cells(1, 4)).Activate
'Restablecemos el zoom inicial...
ActiveWindow.Zoom = .Cells(1, 1)
'...la altura de la fila,..
Rows(ActiveCell.Row).RowHeight = .Cells(1, 2)
'...el ancho de la columna...
Columns(ActiveCell.Column).ColumnWidth = .Cells(1, 3)
'...y las propiedades del texto.
ActiveCell.Font.Size = .Cells(1, 5)
ActiveCell.ShrinkToFit = .Cells(1, 6)
End With
End Sub
'--Fin Codigo--



"Mariangel" <Mariangel @discussions.microsoft.com> wrote in message
news:
Uso el office 2003, tengo un problema que resolver y es que quiero que la
celda que seleccione y le ponga "zoom de pantalla completa" simplemente se
adecue a toda la pantalla y no me muestre las casillas adyacentes a ella,
y
que no sea ajustando el tamano de celda, ya que una variacion de
resolucion
en el monitor hara que esto no se vea en pantalla completa (he ajustado
altos
y anchos de celda, y cuando cambio la resolucion, me aparecen las demas
celdas adyacentes)
Respuesta Responder a este mensaje
#2 Héctor Miguel
11/12/2004 - 12:09 | Informe spam
hola, Mariangel !

... quiero que la celda que seleccione y le ponga "zoom de pantalla completa"
... se adecue a toda la pantalla y no me muestre las casillas adyacentes a ella
... que no sea ajustando el tamaño de celda
... una variacion de resolucion en el monitor hara que esto no se vea en pantalla completa [...]



'considera' lo siguiente...
-> la propiedad Width 'devuelve' una medida en puntos [1/72 de pulgada... 72 pixeles por pulgada]
-> la propiedad ColumnWidth 'devuelve' el ancho de la columna [basado en la fuente 'normal... en uso']
-> la propiedad RowHeight NO puede 'exceder' de 409.5 puntos
-> la propiedad Zoom [aplicable a un objeto Window] NO puede 'exceder' de 400 [%]
-> en las propiedades de la pantalla [windows] cada usuario ->puede 'optar'<- por personalizar los puntos por pulgada
-> [hasta donde se] NO hay ningun evento que 'detecte' un cambio en las 'configuraciones' anteriores

=> ¿cual crees que pudiera ser la forma 'optima' para alcanzar el 'efecto/control' que buscas?
[creo que] 'tendras que' combinar estos [y otros] factores y quizas algunas llamadas a las API's de windows

saludos,
hector.
Respuesta Responder a este mensaje
#3 KL
11/12/2004 - 12:26 | Informe spam
Mariangel,

Hector Miguel acaba de mencionar otro obstaculo que se habia escapado y es
que...
"-> la propiedad RowHeight NO puede 'exceder' de 409.5 puntos". Por lo tanto
creo q mi macro funcionaria bien hasta la resolucion 1024x768. Creo que este
problema en mis macros anteriores se podria solucionar jugando con la
combinacion de los valores de Zoom y de RowHeight.

Y claro, si se pretende cambiar la resolucion de pantalla mientras se esta
trabajando con el archivo o si el usuario echa mano de los controles de zoom
u otros, entonces si q casi q no hay manera.

Saludos,
KL


"KL" <lapink2000(at)hotmail.com> wrote in message
news:
Mariangel,

Desconozco las posibilidades de MSO2003 en este aspecto, ya q tengo MSO97
y 2000. Sin embargo, asumiendo por un lado q no es posible hacer lo q
pides simplemente seleccionando la celda y dando al boton pantalla
completa; y por el otro lado q el zoom y la pantalla completa funcionan
igual en las tres versiones, me parecee q tendras al menos un par de
problemas a resolver si quisieras simular este efecto:
1) el zoom aumenta como max 400% (4x) (creo q forzosamente habra q
manipular el tamano de la celda y de su contenido)
2) como detectas la resolucion de pantalla vigente (si es q realmente es
necesario hay un codigo aqui http://j-walk.com/ss/excel/tips/tip06.htm)
2) como aseguras q las proporciones de la celda sean iguales a los de la
pantalla para q no se vean las celdas adyacentes (asumo tambien q no te
importa q se vean las barras de menus y herramientas de Excel) (se me
ocurre q la propiedad .VisibleRange del objeto Window en Visual Basic
podria hacer el truco).

Dicho lo anterior creo q una de las soluciones podrian ser los dos macros
de abajo asignados a unos botones o atajos.

Saludos,
KL

'--Inicio Codigo--
Sub AumentarCelda()
'En la Hoja2 se guardan los paramentros
'modificados para poder restablecer los
'mas tarde. Esta hoja puede estar oculta.
With Sheets("Hoja2")
.Cells(1, 1) = ActiveWindow.Zoom
.Cells(1, 2) = Rows(ActiveCell.Row).RowHeight
.Cells(1, 3) = Columns(ActiveCell.Column).ColumnWidth
.Cells(1, 4) = ActiveCell.Address
.Cells(1, 5) = ActiveCell.Font.Size
.Cells(1, 6) = ActiveCell.ShrinkToFit
End With

'Nos aseguramos q el zoom sea 100%.
ActiveWindow.Zoom = 100

'Procedemos a aumentar la celda activa.
With ActiveSheet
'Ajustamos su altura a la altura del
'area visible de la ventana de Excel
.Rows(ActiveCell.Row).RowHeight = _
ActiveWindow.VisibleRange.Height
'Ajustamos su ancho al ancho del area
'visible de la ventana de Excel y ademas
'convertimos la unidades correctamente.
.Columns(ActiveCell.Column).ColumnWidth = _
ActiveWindow.VisibleRange.Width / 5.27775709285874
With ActiveCell
'centramos la celda.
.Activate
'aumentamos la fuente al maximo.
.Font.Size = 409
'hacemos q la fuente se ajuste al
'tamano de la celda.
.ShrinkToFit = True
End With
End With
End Sub

Sub RestablecerCelda()
With Sheets("Hoja2")
'Por si la seleccion se habia desplazado
'de la celda aumentada, volvemos a activarla.
Range(.Cells(1, 4)).Activate
'Restablecemos el zoom inicial...
ActiveWindow.Zoom = .Cells(1, 1)
'...la altura de la fila,..
Rows(ActiveCell.Row).RowHeight = .Cells(1, 2)
'...el ancho de la columna...
Columns(ActiveCell.Column).ColumnWidth = .Cells(1, 3)
'...y las propiedades del texto.
ActiveCell.Font.Size = .Cells(1, 5)
ActiveCell.ShrinkToFit = .Cells(1, 6)
End With
End Sub
'--Fin Codigo--



"Mariangel" <Mariangel @discussions.microsoft.com> wrote in message
news:
Uso el office 2003, tengo un problema que resolver y es que quiero que la
celda que seleccione y le ponga "zoom de pantalla completa" simplemente
se
adecue a toda la pantalla y no me muestre las casillas adyacentes a ella,
y
que no sea ajustando el tamano de celda, ya que una variacion de
resolucion
en el monitor hara que esto no se vea en pantalla completa (he ajustado
altos
y anchos de celda, y cuando cambio la resolucion, me aparecen las demas
celdas adyacentes)




Respuesta Responder a este mensaje
#4 Mariangel
11/12/2004 - 14:27 | Informe spam
Gente... gracias por las opciones que me han dado, sinceramente no creia que
me iban a dar respuestas tan elaboradas!!! Ustedes si que tienen claro como
funciona este programita eh?! Yo apenas soy una usuaria bastante básica y que
aparte de hacer formulitas y que me las calcule solito si vario la info de
las celdas, ya estoy contenta.

Al final de esta historia, le hice ver al cliente que podiamos negociar en
ver solo esa celda en una hoja aparte, que le haga el calculo que pedia
tomando como base otra hoja separada, es decir le oculté todas las
celdas de esa hoja y que si quería verlo mas grande. le agrandé el tamaño
de celda.

Fue un verdadero reto para mi, ya que los macros es algo que nunca entendí
mucho, no quería hacerlo de esa forma... y el cliente quería algo
sencillo y dado que me gustan las computadoras y sus programitas, sigo
siendo una Licenciada en Relaciones Internacionales... o sea, como se dice en
Uruguay: "que no pida peras al olmo".

De todas formas, gracias por su preocupación y por sus respuestas a mis
locas preguntas hasta a mi se me hizo dificil tratar de explicar lo que
quería!!! Pero sobreviví... y no duden que en la proxima locura de este
cliente voy a lanzar un grito desesperado a esta comunidad!!!!!

Gracias!!!!! Muchas Gracias!!!!!

Mariangel

"Héctor Miguel" escribió:

hola, Mariangel !

> ... quiero que la celda que seleccione y le ponga "zoom de pantalla completa"
> ... se adecue a toda la pantalla y no me muestre las casillas adyacentes a ella
> ... que no sea ajustando el tamaño de celda
> ... una variacion de resolucion en el monitor hara que esto no se vea en pantalla completa [...]

'considera' lo siguiente...
-> la propiedad Width 'devuelve' una medida en puntos [1/72 de pulgada... 72 pixeles por pulgada]
-> la propiedad ColumnWidth 'devuelve' el ancho de la columna [basado en la fuente 'normal... en uso']
-> la propiedad RowHeight NO puede 'exceder' de 409.5 puntos
-> la propiedad Zoom [aplicable a un objeto Window] NO puede 'exceder' de 400 [%]
-> en las propiedades de la pantalla [windows] cada usuario ->puede 'optar'<- por personalizar los puntos por pulgada
-> [hasta donde se] NO hay ningun evento que 'detecte' un cambio en las 'configuraciones' anteriores

=> ¿cual crees que pudiera ser la forma 'optima' para alcanzar el 'efecto/control' que buscas?
[creo que] 'tendras que' combinar estos [y otros] factores y quizas algunas llamadas a las API's de windows

saludos,
hector.



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida