Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Excel: aggiornamenti automatici

    Ciao Ragazzi...

    Vi chiedo aiuto, è tutta la mattina che ci sto sbattendo la testa... non sono espertissimo ma nemmeno completamente digiuno... per voi probabilmente sarà semplicissimo... speriamo...

    Allora, ho il mio bel foglio excel. Sono collegato ad un server che mi invia dei dati in tempo reale. Quindi all'interno della singola cella ho un dato (il prezzo di un titolo) che si modifica con il passare dei minuti...

    Io vorrei trovare il sistema per fare essenzialmente due cose.

    La prima. Dire ad excel che alla tal ora del tal giorno deve andare a prendere (ed inserire in una seconda cella) il valore che trova nella cella collegata al server... ahh, e deve lasciarcelo... non è che un minuto dopo sparisce perchè non è verificata la condizione temporale... :-)

    Due. Dovrebbe in una terza cella, in tempo reale, registrare il valore massimo che riscontra in un dato intervallo temporale. Per intendersi... :-) "attivati alle nove e registra il dato più alto che trovi (mantienilo...cavolaccio...!) e fai questo fino alle dieci, poi disattivati".

    Bon ragazzi, spero sia semplice... datemi una mano pls.
    Un saluto a tutti e grazie.
    Francesco.

  2. #2
    Utente di HTML.it L'avatar di nifriz
    Registrato dal
    Jan 2008
    Messaggi
    2,058
    Che versione di Excel hai?
    Perché fino alla 2003 puoi fare le macro.. e basta dirgli

    if data_Ora = data_ora_richiesta
    copia cella XX a YY

    (ovviamente scritto in VBA)

    In questo modo non ti fa strane sostituzioni che possono farti i comandi messi direttamente a foglio.

    Ciao

  3. #3
    Utente di HTML.it L'avatar di luck
    Registrato dal
    Oct 2004
    Messaggi
    550
    allora, giusto un inizio...
    bisogna andare di macro, supponendo che la cella da controllare sia la B2 del foglio1, aggiungi la seguente macro:

    codice:
    Private Sub Worksheet_Change(ByVal Target As Range)
        
        'imposta la cella da controllare
        If Target.Row = 2 And Target.Column = 2 Then
            
        'data da controllare
        data = #8/1/2008 3:00:00 PM#
        Intervallo = 30                     'imposta una finestra di secondi validi per registrare il dato
        Intgg = 30 / 86400                  'finestra di secondi in fraz
        adesso = Now()
        
            If Now() > adesso And Now < AdessoInt Then
                'condizione verificata, loggare il risultato
                esci = False
                riga = 0
                Do
                    If ActiveSheet.Cells(4, riga + 1) = "" Then esci = False
                    riga = riga + 1
                Loop Until esci = False
                ActiveSheet.Cells(4, riga) = Target.Value
            End If
        End If
    
    End Sub
    la macro si attiva ad ogni cambiamento nel foglio in cui la inserisci, se il cambiamento coinvolge la cella (2,2), ovvero la B2, controlla che la data non sia compresa tra un intervallo determinato dalla variabile data + un certo numero di secondi, ok?

    nel caso sia soddisfatto logga il risultato costruendo un log in colonna C

    spero funzioni
    ciao
    L.

  4. #4
    Utente di HTML.it L'avatar di luck
    Registrato dal
    Oct 2004
    Messaggi
    550
    Originariamente inviato da nifriz
    Che versione di Excel hai?
    Perché fino alla 2003 puoi fare le macro..
    perchè dopo no?

  5. #5
    Grazie infinite....

    Siete davvero eccezionali...

    Domani mattina dovrei aver tempo per provare e vi faccio sapere...

    Grazie davvero...


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.