Mantener siempre visible un Botón de comando

02/11/2005 - 00:12 por Esteban Dido | Informe spam
Hola, ¿cómo puedo mantener siempre visible un botón de comando a medida que
la hoja va teniendo más filas?
Me explico: tengo un CommandButton frente a la fila 100. En unos días más la
hoja tendrá unas 150 filas y el botón se irá hacia arriba manteniendose
siempre frente a la fila 100 y no se verá. Quiero que esté siempre visible,
tal vez flotante, no sé. Algo así como lo que hace 'inmovilizar paneles' con
las filas y/o columnas. ¿Será posible?
Gracias.

 

Leer las respuestas

#1 Héctor Miguel
02/11/2005 - 05:34 | Informe spam
hola, Esteban !

... mantener siempre visible un boton de comando a medida que la hoja va teniendo mas filas?
... Algo asi como lo que hace 'inmovilizar paneles' conlas filas y/o columnas. Sera posible?



puedes hacer que el commandbutton 'te siga' segun vayas avanzando/retrocediendo por la hoja :))
usando sus propiedades; "TopLeftCell", "Top"; y "Left", podras cambiar su ubicacion dentro de la hoja.
[p.e.] para 'mantenerlo' ubicado en la columna 2 y la fila 2 del 'area visible' [y flotante] de la hoja ...
[probablemente] la siguiente 'propuesta' te sea de utilidad ;)

saludos,
hector.

copia/pega las siguientes lineas:
== en el modulo de codigo de 'esa' hoja ==Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Dentro_de As String, Debe_estar_en As String, _
Izquierda As Single, Arriba As Single
Dentro_de = ActiveWindow.VisibleRange.Address
Debe_estar_en = Range(Dentro_de).Cells(2, 2).Address
With ActiveSheet.Shapes("CommandButton1")
If .TopLeftCell.Address = Debe_estar_en Then Exit Sub
Izquierda = Range(Debe_estar_en).Left
Arriba = Range(Debe_estar_en).Top
.Left = Izquierda: .Top = Arriba
End With
End Sub

notas:
1.- implica cambiar la selección de la celda activa (con el mouse o teclado)
2.- si el desplazamiento 'ocurre por' barras | rueda del mouse, 'funcionara' HASTA que 'suceda' lo anterior :((
[si lo prefieres, llamando a las API's o usando el Scripting podrias 'detectar' el evento 'Scroll' por barra/s | mouse]
3.- si la hoja tiene paneles 'fijos', entonces 'Debe_estar_en [...] Cells(2, 3).Address' APLICARA al panel 'flotante'

[creo que] 'de momento', lo anterior te 'debera funcionar bien' -con las 'salvedades' mencionadas- :))

Preguntas similares