|
Domanda.
nome=ANTONELLO
cognome=POLIMENO
versione=EXCEL PER XP
conosco2=medio
vba=SI
macro=SI
email=polianto@katamail.com
chra=417
problema=Io sono di estrazione elettrotecnica; avete presente un timer
ritardato all'eccitazione? Quando si dà tensione alla bobina del timer parte
il tempo e trascorso il tempo impostato il contatto commuta. Bene.
Sono riuscito a realizzare un timer ritardato all'eccitazione su un foglio
di excel tramite una routine sub associata ad un
pulsante ma la stessa routine, trasformata in function in modo da incollarla
in una qualunque cella attraverso il menù Inserisci-
Funzione-Definite dall'utente, non vuole saperne di funzionare.
Le ho provate tutte.
Potete aiutarmi?
Cordiali saluti
Risposta.
salve Antonello, no, non so cos'è un timer ritardato, ma so che esiste una
differenza tra procedure (le macro o routines) e funzioni; le prime compiono
un azione, le seconde restituiscono un valore in dipendenza degli
"argomenti" passate ad esse. Dipende quindi dal tipo di istruzioni previste.
Questa Funzione "funziona": con "Dato", argomento della funzione; prendiamo
un numero, scritto per esempio in A1, che corrisponderà al tempo di pausa
tra attivazione funzione e restituzione valore, e come "Tempo" verrà quindi
restituito il tempo di Timer (che come sai conta quanti secondi sono
trascorsi dalla mezzanotte) + il tempo di pausa
Function Tempo(Dato As Long)
TotalTime = Dato
PauseTime = TotalTime
Start = Timer
Do While Timer < Start + PauseTime
DoEvents
Loop
Tempo = Timer
End Function
se in A1 scrivi 5 e in B1 inserisci =Tempo(A1), in B1 otterrai il risultato
di Tempo che sarà il numero di secondi trascorsi dalla mezzanotte fino al
momento in cui scrivi 5 in A1, momento in cui attivi Timer, + i 5 secondi di
pausa scritti in A1.
Altre condizioni non mi vengono in mente, ma comunque non puoi usare tutte
le macro come funzioni.
saluti, ennius
|