Actualizar un userform
sebyyy
-
cs_Le Pivert Mensajes publicados 8437 Estado Colaborador -
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
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
-
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 adaptarOption 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-
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.
:-/- 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
-
-
¿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...-
Coloca el libro de trabajo sin datos confidenciales aquí, luego pega el enlace obtenido en este post
https://www.cjoint.com/
@+
-
-
-
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 -
Después de varios intentos, me rindo... apenas soy un principiante en VBA
pero gracias igual por tu ayuda -
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-
-
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é... -
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à -
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 -
-