crear boton movil

17/12/2006 - 08:56 por Patricio | Informe spam
Hola. Con la barra de dibujo hice una elipse que ocupo como botón de acceso
directo (al haberle asignado una macro), para ejecutar un formulario
UserForm1. La pregunta es si existe alguna forma de hacer correr este botón
de forma automática, para que no desaparezca de pantalla, mientras desplazo
la hoja de cálculo.

Si alguien me puede ayudar porfa, o tú Héctor Miguel, que todo lo sabes.

Patricio, Santiago
 

Leer las respuestas

#1 Héctor Miguel
17/12/2006 - 09:21 | Informe spam
hola, Patricio !

... hice una elipse... como boton... al haberle asignado una macro para ejecutar un formulario
... hacer correr este boton de forma automatica, para que no desaparezca de pantalla, mientras desplazo la hoja de calculo...



op1: asignale a la macro [tambien/mejor/] un atajo de teclado -?-
op2: mueve la figura a la celda 'A1'... selecciona la celda 'B2' y usa [menu] ventana / inmovilizar paneles -?-
[la figura permanecera siempre visible si la colocaste en 'A1'] :))
op3: puedes hacer que la figura/boton 'te siga' segun vayas avanzando/retrocediendo por la hoja [p.e.]
usando sus propiedades; "TopLeftCell", "Top"; y "Left", podras cambiar su ubicacion dentro de la hoja.
para 'mantenerlo' ubicado [p.e.] en la columna 2 y la fila 2 del 'area visible' [y flotante] de la hoja ...
-> te paso un ejemplo al final del presente.

si cualquier duda [o informacion adicional]... comentas ?
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
Dentro_de = ActiveWindow.VisibleRange.Address
Debe_estar_en = Range(Dentro_de).Cells(2, 2).Address
With ActiveSheet.Shapes("PON aqui el nombre de tu figura") ' <= MODIFICA el nombre '
If .TopLeftCell.Address = Debe_estar_en Then Exit Sub
.Left = Range(Debe_estar_en).Left
.Top = Range(Debe_estar_en).Top
End With
End Sub

notas:
1) implica cambiar la seleccion 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