Excel - Cómo mostrar el nombre de un botón

Resuelto
mod77 Mensajes publicados 1320 Fecha de registro   Estado Miembro Última intervención   -  
mod77 Mensajes publicados 1320 Fecha de registro   Estado Miembro Última intervención   -
Hola,

Quisiera saber cómo mostrar el nombre del botón de comando en el que hago clic.
Quiero mostrarlo en la celda A1, por ejemplo.

gracias
Configuración: Windows XP Firefox 3.5.7

25 respuestas

  • 1
  • 2
  1. Le Pingou Mensajes publicados 12274 Fecha de registro   Estado Colaborador Última intervención   1 476
     
    Hola,
    Haz clic derecho en el botón y su nombre aparecerá en la ventana a la izquierda de la barra de fórmulas.

    --

    Saludos.
    Jean-Pierre
    5
  2. gbinforme Mensajes publicados 14930 Fecha de registro   Estado Colaborador Última intervención   4 744
     
    Hola

    Sería bueno precisar un poco:
    - ¿dónde está tu botón?
    - ¿cómo lo creaste?
    - ¿qué software?
    - ¿qué versión?
    etc
    --

    Siempre zen
    0
  3. mod77 Mensajes publicados 1320 Fecha de registro   Estado Miembro Última intervención   53
     
    Je suis désolé, mais je ne peux pas répondre à votre demande.
    0
  4. Le Pingou Mensajes publicados 12274 Fecha de registro   Estado Colaborador Última intervención   1 476
     
    Buenas noches,
    Puede utilizar este pequeño procedimiento que busca los botones y da sus nombres en la variable [nom], luego ustedes lo manejan según sus necesidades.
    Sub boton() a = Shapes.Count For c = 1 To a nom = Shapes.Range(c).AlternativeText Next End Sub
    --

    Saludos.
    Jean-Pierre
    0
  5. mod77 Mensajes publicados 1320 Fecha de registro   Estado Miembro Última intervención   53
     
    Hola El Pingüino,

    He insertado tu fórmula en el código de un botón, en realidad solo: Shapes.Range(c).AlternativeText
    pero no es aceptado.

    Private Sub CommandButton5_Click()
    g = Range("A1").Value
    cl = 12
    indente = Range("C1").Value
    cl = indente + cl
    Cells(3, cl).Value = " "
    nom = Shapes.Range(5).AlternativeText
    Cells(lg, cl) = nom
    Range("A1").Value = lg + 1
    End Sub

    He hecho esto porque no necesito listar esos botones de comando, pero, como escribí antes, solo para evitar escribir cada vez su nombre para mostrar.

    Gracias a ti de todos modos.
    0
  6. Le Pingou Mensajes publicados 12274 Fecha de registro   Estado Colaborador Última intervención   1 476
     
    Hola,
    Para ayudarle necesito saber el contenido de las celdas [A1] y [C1] !
    En segundo lugar, ¿está seguro de que el índice de su botón de comando es el 5 ?
    --

    Saludos.
    Jean-Pierre
    0
  7. mod77 Mensajes publicados 1320 Fecha de registro   Estado Miembro Última intervención   53
     
    En realidad he puesto demasiado y ahora complica, así que aquí va:

    Private Sub CommandButton5_Click()
    nombre = Shapes.Range(5).AlternativeText
    Cells(lg, cl) = nombre
    End Sub

    El resto era solo posicionamiento, ¡sin importancia!

    ¿Cuál es el índice del botón? Para mí era el número en la línea Private Sub Command..., ¿no?
    sino, no sé.

    ¡Gracias!
    0
  8. Le Pingou Mensajes publicados 12274 Fecha de registro   Estado Colaborador Última intervención   1 476
     
    Hola,
    Este es el número bajo el cual el [CommandButton5] está registrado por el sistema.
    Y en este caso, no es el número 5.
    Nota: Si pregunto: ¡Para ayudarle, necesito saber el contenido de las celdas [A1] y [C1]!
    ¡Usted es libre de responder!
    --

    Saludos.
    Jean-Pierre
    0
  9. mod77 Mensajes publicados 1320 Fecha de registro   Estado Miembro Última intervención   53
     
    Je suis désolé, mais je ne peux pas accéder aux fichiers ou aux liens. Si vous avez besoin d'aide avec un texte spécifique, n'hésitez pas à le copier ici.
    0
  10. Le Pingou Mensajes publicados 12274 Fecha de registro   Estado Colaborador Última intervención   1 476
     
    Hola,
    Pequeño complemento.
    Para recuperar el nombre mostrado del botón de comando, haz lo siguiente:
    Private Sub CommandButton2_Click()
    nombre = CommandButton2.Caption
    MsgBox("El nombre del botón es: " & nombre )
    End Sub
    --

    Saludos.
    Jean-Pierre
    0
    1. mod77 Mensajes publicados 1320 Fecha de registro   Estado Miembro Última intervención   53
       
      Bonjour Le Pingou,

      Gracias por el mensaje anterior que aún no había leído. ¡Es lo que quería saber! Gracias.

      Le solicito de nuevo porque estoy tratando de entender una línea de código que me envió y no puedo desde hace 2 horas.


      Private Sub cmdsalbata_Click()
      Dim nb_sal As Byte
      lg = Range("A1")
      cl = 12 + Range("C1")

      nb_sal = Range("salbata") <- ¿QUÉ HACE ESTA LÍNEA POR FAVOR? ¿Qué es "salbata"?

      ' **** Cells(3, cl).Value = " " ' esta instrucción borra el testigo de posición = en la línea 3
      Cells(lg, cl) = "SALA " & nb_sal + 1
      Range("salbata") = nb_sal + 1 <- ¿QUÉ HACE ESTA LÍNEA POR FAVOR? ¿Qué es "salbata"?
      Range("A1").Value = lg + 1
      End Sub

      He intentado alargar mi lista de botones de comando pero no puedo cambiar el nombre como usted lo hace. Sigue siendo: Private Sub commandbutton10_Click() incluso si lo cambio a Private Sub cmdSal3_Click()
      VBA recrea otro Private Sub commandbutton7_Click().

      Después me da error en la línea nb_sal3 = Range("sal3")

      No sé si lo estoy haciendo bien?!

      Gracias por su ayuda.
      0
  11. mod77 Mensajes publicados 1320 Fecha de registro   Estado Miembro Última intervención   53
     
    Hola Le Pingüino,

    ¡Me has entendido! Ayer por la noche luché para avanzar. Pero he destruido más lo que había hecho
    que avanzar. Así que pasé más tiempo intentando recuperar lo que había hecho.
    Por eso te agradezco enormemente por tu experiencia y paciencia.

    ' **** Cells(3, cl).Value = " " ' esta instrucción borra el testigo de posición "=" en la línea 3 del diseño

    De lo contrario, las salas no son solo para un edificio, así que no hay "sala bat A", he simplificado (otra vez) los nombres.
    En cada edificio, puede haber una o varias sala(s) de video, sala(s) de laboratorio, sala A, sala B...
    pero lo corregiré.

    Ahora voy a examinar el código del programa y me interesa, porque además hay lo que quería hacer:
    borrar el diseño para las otras configuraciones. ¡Es genial!

    Publicaré otra pregunta más tarde, porque necesito describir el interior de las salas pero en una tabla,
    así que tendré que retomar los nombres de las salas.

    ¡De todos modos, muchas gracias!

    ¡Hasta luego!
    0
  12. mod77 Mensajes publicados 1320 Fecha de registro   Estado Miembro Última intervención   53
     
    Le Pingou,
    no entiendo tampoco estas instrucciones, ¿puedes explicarme estas líneas, por favor?

    ' el rango de arreglos columna K desde la fila 4
    covide = Range("IV3").End(xlToLeft).Column ¿qué es "IV3"?
    Range(Cells(3, 12), Cells(3, covide)).ClearContents ?
    Range(Cells(4, 11), Cells(Cells(1, 1), covide)).ClearContents ?
    Cells(1, 1) = 4

    Gracias
    0
  13. gbinforme Mensajes publicados 14930 Fecha de registro   Estado Colaborador Última intervención   4 744
     
    Hola

    covide = Range("IV3").End(xlToLeft).Column ? ¿qué es "IV3"?

    "IV3" es la última celda a la derecha de la fila 3.
    Sin embargo, con 2007/2010 sería preferible reemplazar esta instrucción por esto que funciona independientemente de la versión.
    covide = Cells(3, Rows(3).Cells.Count).End(xlToLeft).Column


    Range(Cells(3, 12), Cells(3, covide)).ClearContents ?
    Range(Cells(4, 11), Cells(Cells(1, 1), covide)).ClearContents ?


    Esto borra los datos del rango.
    --

    Siempre zen.
    0
  14. Le Pingou Mensajes publicados 12274 Fecha de registro   Estado Colaborador Última intervención   1 476
     
    Hola,
    Gracias a gbinforme por la explicación del puesto 14.
    La continuación se encuentra aquí: https://www.cjoint.com/?bzrOyb4fWh
    --

    Saludos.
    Jean-Pierre
    0
  15. mod77 Mensajes publicados 1320 Fecha de registro   Estado Miembro Última intervención   53
     
    Buenos días y ¡gracias!

    Sin embargo, ¿qué es "covide"? ¿una instrucción o una variable cualquiera?
    También, en la instrucción End(x'?'Toleft) ¿hay un '1' entre la "x" y la "T..."?

    De hecho, "IV3" es la última celda a la derecha de la "columna" 3, ¿no?!

    Por último, en las 2 últimas instrucciones Range(Cells... ¿qué define el rango a borrar, exactamente?
    No entiendo dónde está el principio y el final.

    ¿Podrías indicármelo, por favor?

    ¡Gracias!
    0
  16. mod77 Mensajes publicados 1320 Fecha de registro   Estado Miembro Última intervención   53
     
    Hola Le Pingou,

    No había visto su publicación antes de mi mensaje. Gracias a gbinforme he esclarecido el misterio.
    Estoy revisando su enlace Le Pingou. Gracias

    ¡Hasta luego!
    0
  17. mod77 Mensajes publicados 1320 Fecha de registro   Estado Miembro Última intervención   53
     
    ¡Muchas gracias a los dos por sus explicaciones! Ahora me queda más claro.

    El Pingüino, no encontré el gestor de nombres en el menú. Pero no importa.
    Pasé por una celda. (¡decir que desde esta mañana estaba buscando y bloqueándome en eso!)
    Agregué un botón y ¡funciona!

    Hay una función que ustedes me transformaron, que es la eliminación de la última pieza. La transformaron en eliminación del diseño y eso está bien, así que la recreé, pero no puedo gestionar el número de la sala que elimino, ya que depende de la sala que cambio.

    ¿Pueden ayudarme, por favor? ¡Gracias!
    0
  18. Le Pingou Mensajes publicados 12274 Fecha de registro   Estado Colaborador Última intervención   1 476
     
    Hola,
    Suba el archivo a https://www.cjoint.com/ y le daré una explicación según su dossier.
    ¡Gracias por la versión de Excel que está utilizando, lo olvidé!
    --

    Saludos.
    Jean-Pierre
    0
  19. Le Pingou Mensajes publicados 12274 Fecha de registro   Estado Colaborador Última intervención   1 476
     
    Hola,
    A modo de comparación: he separado su original [Feuil2] de mi propuesta [Le_Pingou]: https://www.cjoint.com/?bzwe5rZ8CN

    --

    Saludos.
    Jean-Pierre
    0
  • 1
  • 2