Programación Excel VBA, botón vinculado a una fila
Resuelto
PANTPUFLE
-
PANTPUFLE Mensajes publicados 10 Estado Miembro -
PANTPUFLE Mensajes publicados 10 Estado Miembro -
Hola,
Estoy buscando una solución a mi problema en diferentes foros, pero en vano. He creado un documento de Excel para programar diferentes pedidos y las fechas de entrega. Para esto, he añadido un botón "programar" al inicio de cada fila para eliminar la fila en la que se encuentra. Pero el botón está programado con el número de celda, lo que significa que si añado una línea en el medio, el botón no estará frente a la línea correcta.
Espero haber sido claro, pero en resumen, necesitaría eliminar las columnas C a G, pero únicamente en la fila del botón. No sé si esto es posible.
Gracias de antemano por tu respuesta.
Configuración: Windows / Firefox 80.0
Estoy buscando una solución a mi problema en diferentes foros, pero en vano. He creado un documento de Excel para programar diferentes pedidos y las fechas de entrega. Para esto, he añadido un botón "programar" al inicio de cada fila para eliminar la fila en la que se encuentra. Pero el botón está programado con el número de celda, lo que significa que si añado una línea en el medio, el botón no estará frente a la línea correcta.
Espero haber sido claro, pero en resumen, necesitaría eliminar las columnas C a G, pero únicamente en la fila del botón. No sé si esto es posible.
Gracias de antemano por tu respuesta.
Configuración: Windows / Firefox 80.0
3 respuestas
-
yg_be Mensajes publicados 23437 Fecha de registro Estado Colaborador Última intervención Ambassadeur 1 588
Hola, no entiendo la relación entre tu primer y segundo párrafo.
Me pregunto si es una buena idea tener un botón por línea.
¿Puedes compartir tu archivo? -
Hola, soy consciente de que no soy muy claro en mis comentarios, así que intentaré aportar algunas precisiones.
Primero, les pongo a disposición el enlace del Excel porque no he conseguido integrarlo de otra forma:
https://www.cjoint.com/c/JIxinC7lWYa
En mi hoja de pedido, se puede ver al cliente SNCF (que es un ejemplo) que hay diferentes pedidos, diferentes fechas, etc. Delante de cada línea hay un botón afiliado a la línea. Cuando mi pedido es entregado, sería más cómodo para mí borrar mis datos de la tabla en las celdas que van de C a G. Mi problema es el siguiente. Si algún día tengo un pedido adicional, necesitaría añadir una línea en esta tabla y, por lo tanto, cambiar el número de las celdas. El botón no quedando en su celda asignada, el código VBA ya no sería correcto ya que me borraría los datos de otra celda.
Por lo tanto, me gustaría, o bien poder vincular mi botón a una celda, sin importar la adición o eliminación de líneas, los botones permanecen en el número de celda correcto que se les ha asignado. O saber si es posible programar el botón para que borre los datos de su celda, pero sin tener que poner los números en Range("C32:G32").
Muchas gracias por su respuesta.-
Private Sub CommandButton1_Click() Dim fila As Long fila = Me.CommandButton1.TopLeftCell.Row Cells(fila, "C").Resize(1, 5).ClearContents End Sub
- Muchas gracias, pero después de probarlo, eso borra la primera línea de mi primera tabla, pero no la línea donde se encuentra el botón.
Voy a intentar ver si con su programa no puedo encontrar una alternativa, pero si tuviera una solución a mi problema, me ayudaría enormemente.
Gracias por su ayuda.
-
-
yg_be Mensajes publicados 23437 Fecha de registro Estado Colaborador Última intervención Ambassadeur 1 588
otro método sería utilizar una sola macro y asociar todos los botones a esta macro.Sub boton() ActiveSheet.Buttons(Application.Caller).TopLeftCell.Offset(0, 2).Resize(1, 5).ClearContents End Sub
incluso puedes copiar el botón en todas las filas.-
- este método se debe utilizar si asocias una macro a los botones (la misma macro a todos los botones).
https://support.microsoft.com/es-es/office/asignar-una-macro-a-un-formulario-o-a-un-bot%C3%B3n-de-control-d58edd7d-cb04-4964-bead-9c72c843a283
-