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
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