Devolver el control a excel desde un formulario

Inicio VBA Devolver el control a excel desde un formulario

Este debate contiene 5 respuestas, tiene 2 mensajes y lo actualizó  noquia hace 5 años .

Viendo 6 publicaciones - del 1 al 6 (de un total de 6)
  • Autor
    Publicaciones

  • noquia
    Participant

    Buenos dias,
    Tengo una hoja excel, que resumido resumido, tiene un formulario NO MODAL con un botón que al pulsarlo ejecuta esta sentencia:

    ..
    Range(«C1»). Activate
    ..

    Al pulsar el botón, lógicamente se va a la celda «C1» y se activa, pero…. NO PUEDO ESCRIBIR EN ELLA hasta que no la selecciono manualmente con el ratón…..

    Como puedo hacer para que una vez pulse el boton, poder escribir directamente?

    Gracias


    noquia
    Participant

    He encontrado una «treta» que es:
    ..
    Application.WindowState = xlNormal
    Application.WindowState = xlMaximized
    ..
    Lo que hace es poner en modo normal y luego maximizar la ventana, para que se quede activa..

    Debe de haber otra solución, a ver si alguien aporta como hacerlo


    AngelGil
    Moderator

    Hola
    Puedes hacer lo siguiente:
    1- primero ocultas el formulario
    2- después simulas que presionas F2

    Esto se hace así (en el código asociado a la pulsación del botón del formulario):

    me.hide
    Application.Sendkeys «{F2}»

    Espero que te sirva.

    Un saludo


    noquia
    Participant

    Muchas Gracias Angel, esta forma está bien.. PERO NO ME SIRVE para mi acometido,
    Pues tengo las mismas, tengo que volver a cargar manualmente el formulario, además de que se queda la tecla en modo edición…

    Tiene que haber algo relacionado con poner la aplicación de excel en primer plano.. pero no lo encuentro…

    Si se te ocurre algo… MUCHAS GRACIAS

    Alguna otra idea?


    AngelGil
    Moderator

    Hola

    Entonces es que no he entendido tu problema.
    Tienes un formulario, quieres que al pulsar un botón entre en una celda y te la deje en modo edición (para poder escribir directamente). Eso es lo que hace el código que te puse antes. Si quieres volver al formulario, con volverlo a mostrar sería suficiente. Esto lo podrías hacer de muchas maneras. Se me ocurre utilizar una variable global que cambie al valor TRUE si has pulsado el botón del formulario, y a FALSE si pulsas otro botón para cerrarlo definitivamente. Su valor inicial sería FALSE.
    Entonces, colocas en el evento Worksheet_SelectionChange un código que compruebe esta variable, y si es TRUE, vuelve a mostrar el formulario.
    Como antes no lo cerramos, sino que solamente lo ocultamos, todos los datos que tuviera escritos en el momento de ocultarlos se mantendrían como estaban.
    Te adjunto un pequeño archivito que tiene esta funcionalidad para que le eches un vistazo.

    Descarga

    Un saludo


    noquia
    Participant

    Muchas Gracias Señor,

    Como ya me has respondido por otro lado.. vamos a seguir aquí, que has sido el que te has preocupado de darme una solución. GRACIAS

    Muchas Gracias Cron, Necesitaba una solución rápida (cosa que tu has hecho). GRACIAS !

    Decirte que esto no soluciona el problema, pues como te dije lo que me sucede es lo siguiente:

    Tengo una tabla con numerosas columnas ( Peso, Medidas, Color, Fabricacion, Pais, Importado, IVA, Base, Precio …….)

    por otro lado tengo un documento en pdf, internet, excel, word ……… desde donde copio las caracteristicas a la tabla. Ejemplo:

    Busco en internet, dimesion botella x — y me sale 129x64x23mm – Entonces seleciono ese dato, le doy a ctrl+c y me voy a la hoja de calculo..

    En la hoja de calculo tengo un formulario con accesos directos (Ir a peso, ir a medidas, etc) pulso el boton donde quiero que me lleve y de nuevo ctrl + V para pegar los datos

    El problema está que al pulsar el boton para que me lleve directo a la celda, despues no puedo pulsar ctrl+V pues no hay manera humana de devolver el foco a la celda, al no ser que pinche con el raton la celda o _minimize y despues maximize – la ventana mediante codigo o a mano..

    Por cierto, tengo una duda existencial desde los comienzos de excel..

    ¿Donde puedo ver todos los metodos y propiedades de los comandos?, nunca lo he tenido claro..

    Pues el examinador de objetos no lo logro entender…

    Gracias por tu ayuda nuevamente

Viendo 6 publicaciones - del 1 al 6 (de un total de 6)

Debes estar registrado para responder a este debate.