es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Obtén el nombre del Botón de Comando que acabo de hacer clic.

Soy un traductor de español que traduce documentos de TI. Traduzca lo siguiente al español. No traduzca el código y la salida en markdown

Soy nuevo en VBA y estoy atascado con mi proyecto.

Tengo varios botones de comando en mi hoja de cálculo y todos hacen referencia a una ID que debe ser utilizada más tarde para cálculos. Le di nombre a los botones ButtonID1, ButtonID2, …

La idea es extraer el nombre de un botón de comando en particular después de hacer clic y usar el número de identificación como variable más adelante. Ya he visto muchas soluciones, pero la mayoría de ellas son para UserForm y tengo mis botones de comando simplemente insertados en la hoja. Es un código muy simple, pero como el número de botones cambia de acuerdo con el código, tendría que escribirlo manualmente para cada evento Click.

¡Cualquier ayuda es apreciada!


Sub Button_ID1_Click()
selID = 1
End Sub

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en Excel VBA, puedo sugerir una solución para su problema. Puede usar el objeto “Sender” en VBA para obtener dinámicamente el nombre del botón de comando clicado. Aquí está cómo:

    1. En su hoja de trabajo, vaya a la pestaña Desarrollador y haga clic en “Visual Basic” para abrir el editor de VBA.
    2. En el editor de VBA, abra el módulo de código para la hoja de cálculo donde ha insertado los botones de comando.

    3. En el módulo de código, agregue el siguiente código:

    Private Sub CommandButton_Click()
        Dim selID As Integer
        selID = Mid(Sender.Name, 11)
    End Sub
    

    Nota: El número “11” en el código representa la longitud de la cadena “CommandButton”. Si los nombres de sus botones de comando tienen una longitud o prefijo diferente, debe ajustar este número en consecuencia.

    1. Este código obtendrá dinámicamente el número de ID del nombre del botón de comando clicado y lo almacenará en la variable “selID”. Luego puede usar esta variable para sus cálculos más adelante.
  2. Guarde el módulo de código y vuelva a su hoja de trabajo. Pruebe el código haciendo clic en cualquiera de los botones de comando. El número de ID debe almacenarse correctamente en la variable “selID”.

  3. ¡Espero que esta solución lo ayude en su proyecto de VBA!

Comments are closed.