Problema con un botón de comando

No se mucho de visual basic y controles activex, casi nada, estoy haciendo un programa con excel 2000 e incruste un botón de comando en una hoja de calculo, lo que necesito es que el botón no se mueva con las celdas, o sea que quede flotando en la ventana cuando subo o bajo filas.
Probé en el menu contextual del botón, la opción "formato de control", la ficha propiedades, y la opción "no mover ni cambiar tamaño con las celdas", pero no da resultado, no se si sera una falla del programa, por lo que no resulta.
También le puse el numero 3 a la propiedad "placement" de la ventana propiedades del botón, pero tampoco da respuesta. Se que el numero 3 equivale a "xlfreefloating" de la propiedad "placement", por eso probé.
Lo que no se muy bien es como escribir código directamente en el código de la hoja de calculo para incluir por escrito la propiedad PLACEMENT para el objeto. Si se entiende la pregunta y me podes sugerir algo.

3 Respuestas

Respuesta
1
A mi tampoco me funcionó la propiedad placement. Pero si lo que quieres es tener un botón siempre visible puedes intentar lo siguiente.
Abre el editor de Visual Basic con Alt+F11. Allí escribes lo siguiente:
Private Sub Workbook_Open()
Dim miMenu As CommandBarPopup
Dim miBoton As CommandBarButton
Set miMenu = Application.CommandBars("Worksheet Menu Bar").Controls.Add(Type:=msoControlPopup, Temporary:=True)
miMenu.Caption = "Mis Opciones"
Set miBoton = miMenu.Controls.Add(Type:=msoControlButton, Temporary:=True)
miBoton.Caption = "Mi Botón"
miBoton.OnAction = "miProcedimiento()"
End Sub
Luego agregas un módulo y en el módulo incluyes lo siguiente:
Public Sub miProcedimiento()
MsgBox "Aquí tienes que escribir tu código"
End Sub
Eso coloca una opción en la barra de menú donde tendrás un botón siempre visible a través del cual podrás acceder al código cada vez que pulses en el.
No es exactamente lo que querías, pero creo que te puede servir.
Respuesta
1
Bueno lo que preguntas es bastante raro, yo nunca utilizo el excel para programar, sino que cuando necesito algo lo hago desde visual basic y en todo caso leo una planilla desde ahí.
No tengo ni idea de las propiedades que mencionas, pero sobre el código no es difícil, tienes que abrir la barra de herramientas de Visual Basic desde excel luego pones un botón por ej. y pulsas en la barra de herramientas el botón de Vista Diseño, una vez hecho esto al darle doble click al botón que pusiste te abrirá el código para que pongas lo que quieras que haga tal botón. Si no se entiende algo no dudes en preguntar nuevamente.
Gizmogena:pregunto devuelta, mejor dicho trato de aclarar un poco las
cosas.En realidad lo que estoy ha-
Siendo en excel es un trabajo con
Hojas de calculo que contienen for-
Mulas y funciones para llevar ade-
lante un trabajo de contaduría y
demás.Uso unas cuantas hojas de cal-
Culo que simbolizan cada una, una
Sección distinta del programa o tra-
Bajo que estoy haciendo en excel.
Se me ocurrió insertar unos botones
De comando para poder pasar de una
Hoja a otra del libro y también pa-
ra otras funciones. Esos botones que
Pongo en la hoja son los que no pues-
do inmovilizar.Yo se como llegar, o
Abrir la ventana del código de la
Hoja en la que estoy trabajando, pe-
Ro de programación de visual basic
no se nada.Ya probé escribiendo al-
go de código pero no me dio resul-
tado.Si vos podes decirme que escri-
bir en el código de la hoja activa,
como para poder inmovilizar el botón
Te lo voy a agradecer. Gracias.
Es que vos no podes inmovilizar un botón y que este en todas las hojas, vas a tener que realizar un botón por hoja, si no quieres que se mueva el botón dentro de una hoja es porque debe estar deshabilitado el botón de "Modo Diseño".
El código para pasar a otra hoja es el siguiente (estando dentro del código del botón)
Hoja2. Activate
Respuesta
1
Si solo has agregado un botón, te sugiero que lo coloques hasta arriba de la hoja de excel, donde están los títulos.
Seleccionas todas las filas que abarca el botón y aplicas el menú Ventana - Inmovilizar paneles.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas