¿Te atreves a demostrar lo que sabes resolviendo alguno de estos
temas abiertos/no resueltos?

Introduccion de dat...
 
Compartir:
Avisos
Vaciar todo

[Resuelto] Introduccion de datos automatica  

  RSS
Nacholem
(@nacholem)
Nuevo miembro Registered

Hola,

quiero poder introducir datos en una hoja de forma automática. Lo que quiero es ir introduciendo los datos en la celda B2 siempre y que al hacer enter, de forma automática me los coloque en el lugar correspondiente. Los datos son los resultados de un sorteo que saca 9 numeros. En la primera columna está la fecha, y en las siguientes, los resultados. Al in introduciendolos en la celda b2 deberia ir poniendolos en la fila que toque y en la columna que toque, por orden.

Espero que mi explicación quede clara.

Como no se por donde empezar, les agradeceria alguna orientación.

Les subo el excel que tengo creado por si les sirve para entender mejor lo que quiero.

Gracias por su ayuda.

Citar
Respondido : 28/07/2020 10:14 am
RET
 RET
(@ret)
Miembro Admin

Hola Nacholem

Deberías crear una macro que se ejecute con el evento SelectionChange de la hoja. Al Introducir un dato en la celda B2 y hacer Enter, la seleccion cambia y dispara este evento.

En el código, tendrias que localizar la celda donde toca meter los datos y copiar le dato de B2 ahi.

Espero que con estas indicaciones te sea suficiente.

Saludos,

IMF_RET

https://InformaticaMuyFacil.com

ResponderCitar
Respondido : 30/07/2020 9:29 am
Nacholem
(@nacholem)
Nuevo miembro Registered

Gracias RET por las indicaciones. Te pongo el código que he hecho hasta ahora y que si lo pongo en una Sub que no sea Worksheet_SelectionChange me funcionan bien. Lo que me pasa es que cuando lo meto en ese evento, se me dipara cada vez que cambio de celda y se me cuelga el ordenador.

 Sub Probando()

Range("B3").Select
ActiveCell.Offset(1, 0).Select
Do Until ActiveCell.Value = ""
ActiveCell.Offset(1, 0).Select
Loop

ActiveCell.Offset(-1, 0).Select
Do Until ActiveCell.Value = ""
ActiveCell.Offset(0, 1).Select
Loop

If ActiveCell.Column > 9 Then
ActiveCell.Offset(1, -8).Select
End If

ActiveCell.Value = Range("B2").Value

End Sub

Estas seguro de que hay que hacerlo con ese evento, porque no veo la forma de evitar ese problema

ResponderCitar
Respondido : 31/07/2020 11:44 am
RET
 RET
(@ret)
Miembro Admin

@Nacholem,

Si, el evento que tienes que usar es ese. Cuando escribas algo en la celda y pulses Enter, pasas la celda activa a la siguiente y el evento que se desencadena es el de Worksheet_SelectionChange.

El problema que tienes es que la búsqueda de la celda sobre la que escribir lo haces cambiando continuamente de celda y a cada cambio te dispara el evento. Estás entrando en un bucle sin fin. POr eso se te cuelga.

Te sugeriría dos cosas:

- Prueba a, cuando entres en la rutina, anular los eventos nuevos hasta que la termines y justo antes de salir, habilitalos de nuevo. El riesgo es que, por lo que sea, interrumpas el código a la mitad y los dejes dehabilitados, impidiendo la ejecucion hasta que cierres y entres de nuevo.

- Busca la celda objetivo para escribir si moverte "físicamente" por la hoja.

 

IMF_RET

https://InformaticaMuyFacil.com

ResponderCitar
Respondido : 31/07/2020 8:17 pm
Nacholem
(@nacholem)
Nuevo miembro Registered

- Busca la celda objetivo para escribir si moverte "físicamente" por la hoja.

@RET, la verdad es que me estoy volviendo loco y no termino de avanzar. Me puedes explicar que quieres decir con esto?

ResponderCitar
Respondido : 02/08/2020 2:42 pm
RET
 RET
(@ret)
Miembro Admin

@Nacholem, te subo fichero con macro.

Comprueba que es lo que quieres y me dices si te vale.

 

Saludos,

IMF_RET

https://InformaticaMuyFacil.com

ResponderCitar
Respondido : 04/08/2020 1:22 pm
Nacholem le gustó
Nacholem
(@nacholem)
Nuevo miembro Registered

Grande!, grande!, grande!

Está perfecto @RET

Muchas gracias!

ResponderCitar
Respondido : 06/08/2020 10:45 am

Dejar una respuesta

Nombre del autor

Correo electrónico del autor

Título *

 
Vista previa 0 revisiones Guardado