Esclusione visualizzazione monitor



  • Esclusione visualizzazione monitor
    di Stetod data: 10/02/2009

    Ciao a tutti,
    sto cercando il modo per disabilitare a comando la visualizzazione monitor di quanto eseguito dal vba durante la procedura. ho trovato il controllo dell'updating ma non esclude totalmente la visualizzazione.
    avete qualche dritta?!!?
    ciao a tutti



  • di Ricky53 data: 11/02/2009

    Ciao,
    application.screenupdating = false

    non aggiorna la visualizzazione sullo schermo dei passaggi tra i vari fogli /movimenti di righe e di colonne che si hanno in un file xls durante l’esecuzione di una macro.

    tu cosa vuoi fare esattamente?

    ciao da ricky53


  • Disabilitare la visualizzazione del monitor
    di Stetod (utente non iscritto) data: 12/02/2009

    Ciao ricky53,
    ho capito anch'io (dopo) l'effetto di "application.screenupdating = false" aumenta la velocità di esecuzione eliminando alcuni tempi di aggiornamento.
    quello cui vorrei dare risposta è se e come può essere possibile disabilitare la visualizzazione dello schermo durante l'esecuzione di un procedura che necessiti di spostarsi di cella in cella tra vari fogli di lavoro.
    esiste qualcosa di simile in altri linguaggi, mi chiedevo se vba lo permette. con l'help non sono riuscito a trovare degli spunti, inizierò una ricerca via libro.
    ciao e ancora grazie



  • di Enzo (utente non iscritto) data: 12/02/2009

    ...scusate se mi intrometto
    ma utilizzi delle userform per le tue istruzioni?



  • di Enzo (utente non iscritto) data: 12/02/2009

    Potresti sfruttare l'evento windowstate ossia se
    se crei una macro dove all'inizio inserisci l'istruzione qui sotto e poi quelle che vuoi che il tuo foglio di calcolo faccia
    vedrai che al lancio della macro il tuo foglio scompare ossia si chiude come quando tu clicchi in alto a destra sulla barra e si eseguono tutte le istruzioni successive

     
    Application.WindowState = xlMinimized
    'DA QUI IN POI I COMANDI CHE VUOI



  • di Ricky53 data: 12/02/2009

    Ciao,
    forse non hai notato che
    "application.screenupdating = false"
    non fa proprio spostare la visualizzazione dal foglio ove ti trovi quando inizia l'esecuzione della macro, quindi, non ti fa vedere gli spostamenti da cella a cella e da foglio a foglio.

    volendo puoi spostarti su un foglio vuoto senza la griglia, magari con una immagine e poi attivare
    "application.screenupdating = false"

    ciao da ricky53



  • di Enzo (utente non iscritto) data: 12/02/2009

    Ciao ricky, se non ho capito male lui non vuole visualizzare il foglio excel sul monitor quando esegue le sue istruzioni
    application.screenupdating come hai detto tu velocizza la procedura senza farti vedere l'esecuzione della macro ma il foglio excel e' sempre attivo a video.



  • di Enzo (utente non iscritto) data: 12/02/2009

    Ho provato ad allegare un file banale con un pulsante che richiama una macro
    il foglio dovrebbe chiudersi e nel frattempo la macro scrive dei dati nei tre fogli ed alla fine della macro il foglio si riattiva a video
    provate un po a vedere
    ripeto , e' un esempio banale


  • Disabilitare la visualizzazione del monitor
    di Stetod (utente non iscritto) data: 12/02/2009

    Prima di tutto grazie a tutti per la collaborazione.

    purtroppo o per fortuna con i tempi che corrono excel o viene denigrato o viene concepito come panacea ai mali del mondo.

    questo provoca applicativi che alcun volte rasentano le potenzialità e la convenienza a servirsi di excel. ma questa è un'altra storia ...

    l'istruzione "application.screenupdating" si velocizza alcune funzionalità evitando l'aggiornamento, ma in alcune sittuazione di selezione e gestione delle celle compromette il regolare funzionamento. in pratica non si può usare per tutte le "stagioni".

    mentre "application.windowstate = xlminimized" mi sembra un buono spunto. devo dire che come mi accade alcune volte "guardo l'indice e mi perdo la luna". non avevo pensato ad un evento lato finestra.

    questo però inserisce un'altro problema poco informatico. l'utente, se i tempi di elaborazione sono troppo lunghi, può rimanere perplesso e maintendere la scomparsa dell'applicativo.

    solitamente visualizzo delle barre progressive per le attività troppo lunghe. ho provato ad inserire una userform ma, come prevedevo viene nascosta con la minimizzazione della finestra.

    quello di cui ho bisogno è poter congelare il monitor mentre la procedure girano alla grande.

    quindi il problema è ancora aperto. proverò qualcos'altro e ve lo comunicherò, se avete altre ideee, penso possa servire a tutti.

    ciao a tutti ora devo andare



  • di Enzo (utente non iscritto) data: 12/02/2009

    Solo una precisazione
    le userform anche se minimizzi il foglio a video non scompaiono
    io ho un file excel dove lavoro e passo tra una userform ed un altra senza che il foglio sia visibile



  • di Enzo (utente non iscritto) data: 12/02/2009

    Mi dimenticavo una cosa, devi settare la proprieta' della userform showmodal su false


  • Disabilitare la visualizzazione del monitor
    di Stetod (utente non iscritto) data: 12/02/2009

    Ciao,
    davo per scontato che showmodal fosse su false. al contrario anch'io fatto la prova a pensare di utilizzare una userform di segnalazione ma, ovviamente, quando la finestra viene iconizzata sparisce tutto quello che viene gestito da excel!!!! dammi un tuo esempio, così ci capiamo.ciao



  • di Enzo (utente non iscritto) data: 12/02/2009

    Ti ho allegato un file
    attraverso il pulsante iniziale nasconde il file
    appare una userform con un commandbutton
    richiami un altra userform con un altro pulsante
    nascodi le userform e rivisualizzi il file excel