Programación Excel VBA, botón vinculado a una fila
Resuelto
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
-
ColaboradorHola, 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.-
-
Colaborador@yg_beo bien, teniendo en cuenta que el botón está en la columna A:
Private Sub CommandButton10_Click() Me.CommandButton10.TopLeftCell.Offset(0, 2).Resize(1, 5).ClearContents End Sub
-
@yg_beMuchas 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. -
Colaborador@PANTPUFLE¿Puedes mostrar tu código modificado? En mi caso, todo va bien.
-
-
Colaboradorotro 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.-
-
Colaborador@PANTPUFLEeste 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 -
@yg_beDe acuerdo, voy a mirar eso. Muchas gracias por toda su ayuda de todos modos :)
-
@yg_be¡Funciona muy bien, muchas gracias!
-