Actualizar un userform

sebyyy -  
cs_Le Pivert Mensajes publicados 8437 Estado Colaborador -
Hola,

Soy principiante en VBA y estoy creando un pequeño programa.

He creado un UserForm con etiquetas y me gustaría que se actualizara automáticamente sin necesidad de hacer clic sobre él.

Entonces, cuando cambio una celda en la hoja de Excel, quiero que también cambie en el UserForm, ya que uso la hoja de Excel y el UserForm al mismo tiempo.

Actualmente tengo el siguiente código:

Private Sub dernum_Click()
dernum.Caption = ActiveSheet.Range("A1").Value
End Sub

¿Alguien tiene alguna solución para mí?

Gracias de antemano

6 respuestas

  1. cs_Le Pivert Mensajes publicados 8437 Estado Colaborador 730
     
    Hola,

    Para hacer esto hay que poner tu UserForm como se indica aquí:

    https://silkyroad.developpez.com/VBA/UserForm/#LIII-A-2

    Luego vas al módulo de la hoja correspondiente con este código:

    a adaptar
    Option Explicit Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Application.Intersect(Target, Range("A1")) Is Nothing Then UserForm1.Label1.Caption = Target.Value End If End Sub 


    --
    @+ Le Pivert
    0
    1. sebyyy
       
      Gracias por tu mensaje

      Lamentablemente, no puedo hacerlo funcionar... no sé si lo pongo en el área de VBA correcta o si estoy haciendo mal la función...

      Cuando inserto tu código, se abre mi UserForm, puedo trabajar en mi hoja de Excel pero no se refleja ninguna modificación.

      :-/
      0
      1. cs_Le Pivert Mensajes publicados 8437 Estado Colaborador 730 > sebyyy
         
        Haces Alt F11 en la hoja correspondiente. Eso abre el editor. Es ahí donde hay que colocar el código

        Aquí está el método empleado

        https://forum.excel-pratique.com/viewtopic.php?t=1314

        @+ El Pivert
        0
  2. sebyyy
     
    ¿Crees que puedes ayudarme si te envío mi archivo de Excel?
    Porque ya casi no sé por dónde voy... no puedo avanzar... bueno, logro colocar el código en el lugar adecuado pero no pasa nada...
    0
    1. cs_Le Pivert Mensajes publicados 8437 Estado Colaborador 730
       
      Coloca el libro de trabajo sin datos confidenciales aquí, luego pega el enlace obtenido en este post

      https://www.cjoint.com/

      @+
      0
  3. sebyyy
     
    Aquí está el enlace: https://www.cjoint.com/c/JAcszgI68Rg

    Merci
    0
    1. cs_Le Pivert Mensajes publicados 8437 Estado Colaborador 730
       
      aquí

      https://www.cjoint.com/c/JActhUE525Q

      @+
      0
  4. sebyyy
     
    Gracias por el archivo

    Pero aún no entiendo por qué no se actualiza solo... Cada vez que modifico, tengo que volver a la celda de la que se trata para hacer la modificación.

    ¿Crees que es posible?

    Gracias
    0
    1. cs_Le Pivert Mensajes publicados 8437 Estado Colaborador 730
       
      Cada vez que modifico, debo volver a la celda correspondiente para hacer la modificación.

      es normal que haga falta una selección para cada cambio

      en el post 3 te di un enlace. ¡Léelo!
      0
  5. sebyyy
     
    Después de varios intentos, me rindo... apenas soy un principiante en VBA
    pero gracias igual por tu ayuda
    0
  6. sebyyy
     
    Hola cs_El Castor,

    Mi historia me preocupa... ¿podría pedirte una última vez que me pongas mi archivo como se pidió? Cuando tengo una idea en la cabeza me cuesta soltarla... Gracias por tu respuesta
    0
    1. cs_Le Pivert Mensajes publicados 8437 Estado Colaborador 730
       
      aquí hay una solución solo con el teclado. Ya no se utiliza el ratón:

      https://www.cjoint.com/c/JAhlm6hb1iQ

      @+ El Pivert
      0
    2. sebyyy Mensajes publicados 7 Fecha de registro   Estado Miembro Última intervención   > cs_Le Pivert Mensajes publicados 8437 Estado Colaborador
       
      Sí, en cierto modo... excepto que mi celda "A1" es una BUSCARV (RECHERCHEV), así que no voy a escribir en esa celda.

      Es a partir de la "hoja3" al insertar un número en la columna "B" cuando mi celda "A1" de mi "hoja2" va a cambiar.

      En realidad, no sé si es factible... quizá sea imposible, no lo sé...
      0
    3. cs_Le Pivert Mensajes publicados 8437 Estado Colaborador 730 > sebyyy Mensajes publicados 7 Fecha de registro   Estado Miembro Última intervención  
       
      Elimina el código del módulo de la hoja2 y pon esto en el módulo de la hoja3:

      Option Explicit 'El evento se dispara al cambiar la selección Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Application.Intersect(Target, Range("B:B")) Is Nothing Then If Target.Value = "" Then Exit Sub Sheets("Feuil2").Range("A1").Value = Target.Value Sheets("Feuil2").Select LOTOVérif_écran.Show End If End Sub 


      en el módulo de tu UserForm LOTOVérif_écran cambias y pones esto:

      Option Explicit Private Sub UserForm_Activate() dernum.Caption = Range("A1").Value 'adaptar la celda End Sub 


      Voilà
      0
    4. sebyyy Mensajes publicados 7 Fecha de registro   Estado Miembro Última intervención   > cs_Le Pivert Mensajes publicados 8437 Estado Colaborador
       
      Gracias por los códigos, pero ahora cuando hago mi selección de números, mi USF no se actualiza... así que mi etiqueta "dernum" no cambia el número solicitado...

      https://www.cjoint.com/c/JAirniFX3Eg
      0
    5. cs_Le Pivert Mensajes publicados 8437 Estado Colaborador 730 > sebyyy Mensajes publicados 7 Fecha de registro   Estado Miembro Última intervención  
       
      Aquí

      https://www.cjoint.com/c/JAir52LUaFQ

      @+
      0