He revisado tu archivo y observo que tienes dos preguntas distintas, por lo cual tendrás que abrir la segunda aparte. Son las normas de Todoexpertos. Vamos por partes.
Decirte que está muy bien tu aplicación. Has hecho un gran trabajo. En cuanto a la pregunta que has abierto aquí en Todoexpertos, comentarte que en tu ejemplo cuando asignas un accelerator al optionbutton, el textbox Código tiene el cursor activo, por lo que no pierde setfocus.
Tendrías que asignar un accelerator a cada optionbutton y activarlo mediante alt+ la letra que hayas establecido como accelerator. Con eso quedaría zanjada la primera cuestión. En las pruebas que he realizado en distintos equipos, se ejecuta perfectamente.
En cuanto a la segunda, escríbeme una nueva pregunta explicándome con más detalle lo siguiente:
- Una vez iniciado el formulario Userform1, dices que al registrar el primer código, lo almacena y vuelve el setfocus listo a registrar el siguiente.
- ¿Cómo introduces ese código en el textbox?
- Dónde se supone que debe almacenarse. Indícame hoja y celda concreta.
- Dices que una vez que lo lee, no lo almacena, sino que has de darle a Enter o hacer click en Ingresar. Tal y como has programado el UserForm1 está pensado para registrar los datos cuando hagas click en Ingresar con el resto de opciones. Entonces, ¿indícame qué es lo que quieres que ocurra cuando haces la lectura del código? ¿Qué almacene ese código directamente en la celda correspondiente sin hacer click? Pero entonces, ¿el resto de datos cuando los asignarías?
- ¿Dices qué a veces sí te funciona y otras veces no. Cuándo te funciona y cuando no? ¿Cuándo funciona qué es lo que hace el programa y cuando no?
Claudia Castellano
www.excelenaccion.com