elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  VBA Excel
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: VBA Excel  (Leído 1,862 veces)
Lacayo

Desconectado Desconectado

Mensajes: 4


Ver Perfil
VBA Excel
« en: 15 Junio 2019, 20:30 pm »

Hola a todos,

ya se que es una chorrada pero no encuentro donde está el fallo

Estoy intentando crear un botón flotante en Excel. La idea es que de inicio siempre esté en una posición determinada.

Siguiendo diferentes tutoriales, he conseguido hacer el botón flotante con el código:


Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim fila, columna As Variant
    fila = Target.Row
    columna = Target.Column
    With ActiveSheet.Shapes("menu")
        .Left = Cells(fila, columna + 1).Left
        '.Top = ActiveCell.Top
   
    End With
   

End Sub


Donde "menu" es el cuadro de texto.

El botón cumple su función pero quiero que cada vez que se abra la hoja de excel el botón aparezca en la celda (por ejemplo) "J5". Ahora el botón se queda en la última posición grabada.

Entiendo que añadiendo unas lineas por encima de la variable me debería dejar el botón en la posición que yo decida, pero no hay forma de que eso ocurra


Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    ActiveSheet.Shapes("Menu").Top = ActiveSheet.Range("A1").Top
    ActiveSheet.Shapes("Menu").Left = ActiveSheet.Range("A1").Left

Dim fila, columna As Variant
    fila = Target.Row
    columna = Target.Column
    With ActiveSheet.Shapes("menu")
        .Left = Cells(fila, columna + 1).Left
        '.Top = ActiveCell.Top
   
    End With
   

End Sub



Las lineas     ActiveSheet.Shapes("Menu").Top = ActiveSheet.Range("A1").Top y ActiveSheet.Shapes("Menu").Left = ActiveSheet.Range("A1").Left no hacen nada. El botón sigue apareciendo en su última posición

Tampoco se consigue nada repitiendo la orden With dándole valor a las variables "fila=5" y "columna=J"

Alguna idea?

Gracias








En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines