Consenso all'uso dei cookies

SITO1 -- SITO2 -- Forum1 -- CercaGlobale -- Informativa su Cookie e Privacy


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
[RISOLTO] LO Calc inserire automaticamente Orario
#1
Salve avrei bisogno di un aiuto
Vorrei inserire automaticamente in una cella l'ora attuale da formula.
Mi spiego con un esempio.
Cella A10 dove inserire ora attuale, se A11 <>""; usando La formula in A10:
SE(A11<>"";ADESSO();"") ho il problema che contrariamente a quanto riportato dall' help in linea, la funzione Adesso() viene ricalcolata ad ogni aggiornamento di una qualsiasi cella,quindi anche l'orario viene continuamente aggiornato.
Esiste la possibilità tramite il menu inserisci di mettere l'orario senza ricalcolo automatico, ma è una cosa da fare manualmente ed avrei necessità di automatizzare la cosa.
A quanto capisco dovrei scrivere un Add In ma non saprei proprio come fare.
Saluti e grazie e forza Majorana
Cita messaggio
Grazie da:
#2
La funziona ADESSO() fa comunque il suo dovere.
Restituisce sempre la data e l'ora di adesso; e adesso man mano che passa il tempo è sempre diverso, non trovi?
Se riapri o aggiorni il foglio, cambierà. Quindi bisogna trovare un'altra soluzione.
Forse se ti spieghi meglio, si riesce a trovare un'alternativa.
Non capisco cosa possa essere l'Add In.
Ciao
Cita messaggio
Grazie da:
#3
Per bloccare la funzione ADESSO() nella cella senza il ricalcolo del tempo, selezionala, premi F2 e F9, e salva il file. Chiudi e riapri dopo un paio di minuti e vedrai l'orario non ricalcolato.
Cita messaggio
Grazie da:
#4
io userei Copia, Incolla speciale, Solo valori
Cita messaggio
Grazie da:
#5
Esatabad, So che la funzione adesso() fa a logica il suo dovere, ma dall'estratto della guida in linea che allego mi ero illuso che Adesso() non ricalcolasse.
Gli Add In sempre dalla guida in linea sono funzioni aggiuntive programmate dall'utente (programmatore) con il linguaggio adatto.
X SG1 e X Patel e X tutti che ringrazio le soluzioni proposte non mi sono funzionali esiste già la possibilità di fare un paio di clic ed avere l'ora fissata nella cella (Menu INSERISCI inserisci Ora) non ultimo scriverla manualmente, ma per problemi legati alla competenza e alla nazionalità degli operatori sarebbe preferibile che questi ultimi inserissero solo un codice numerico di massimo 2 cifre e tutti i conseguenti dati si applicassero automaticamente. Capisco che così e poco chiaro, quindi allego un file di esempio.

Mi occorrerebbe una funzione che inserendo un numero nella cella Bx sotto la voce Op. inserisse in automatico l'ora corrente nella cella Ax e una volta inserita questa ora non variasse. È l'ora di inizio dell'operazione X e così via.
Secondo me ci vuole una funzione definita dall'utente, ma non sono capace.
Ciao a tutti.


Allegati
.odt   estratto guida di libreoffice.odt (Dimensione: 20,45 KB / Download: 3)
.ods   Carico.ods (Dimensione: 19,71 KB / Download: 4)
Cita messaggio
Grazie da:
#6
per ottenere quello che vuoi occorre ricorrere ad una macro che gestisca l'evento contenuto modificato nella colonna B.
La macro è la seguente
Codice:
Sub eventocella(Target)
If NOT Target.supportsService("com.sun.star.sheet.SheetCell") then exit sub
sh = Target.getSpreadsheet()
range1 = sh.getCellRangeByName("B20:B9000")
range2 = range1.queryintersection(Target.rangeaddress())
If range2.RangeAddressesAsString = "" Then  Exit Sub
ActiveCell = thisComponent.getCurrentSelection()
Sh.getCellByPosition(ActiveCell.celladdress.column - 1,ActiveCell.celladdress.row).value = now()
End Sub
per attivarla occorre cliccare col destro sul tab del foglio,Foglio Eventi,Contenuto modificato, selezionare la macro già inserita in un modulo.
Ti allego il file


Allegati
.ods   Carico.ods (Dimensione: 20,56 KB / Download: 3)
Cita messaggio
Grazie da: Marrio
#7
Grazie tante Patel la macro fa al caso mio, è sufficiente anche così ma visto che l'appetito vien mangiando, non sarebbe possibile modificarla X far sì che l'ora venga scritta solo quando la cella nella colonna B passa da vuota a usata e non viceversa?

o magari non plus ultra solo quando la cella nella colonna B passa da vuota a contenere un valore all'interno di un certo Insieme; quindi un controllo su contenuto dei valori Cella Colonna B?

In della sostituzione della Macro che comunque funziona benissimo è possibile scrivere una semplice funzione definita dall'utente Richiamabile direttamente dall'interno della cella che esegua un non operare?

Mi spiego meglio con una suddetta funzione, siccome poi i nostri operatori devono modificare sia la colonna B che la colonna C, con la Formula ad esempio in A29 :


=SE(O(E(B29<>"";C29="");E(B29="";C29<>""));ADESSO();FunzioneNonOperare)

 si dovrebbe implementare un altro modo di risolvere il problema

di nuovo Grazie e saluti a tutto il forum Majorana
Cita messaggio
Grazie da:
#8
prova questa modifica
Codice:
Sub eventocella(Target)
If NOT Target.supportsService("com.sun.star.sheet.SheetCell") then exit sub
sh = Target.getSpreadsheet()
range1 = sh.getCellRangeByName("B20:B9000")
range2 = range1.queryintersection(Target.rangeaddress())
If range2.RangeAddressesAsString = "" Then  Exit Sub
ActiveCell = thisComponent.getCurrentSelection()
If Sh.getCellByPosition(ActiveCell.celladdress.column - 1,ActiveCell.celladdress.row).Formula = "" then
 Sh.getCellByPosition(ActiveCell.celladdress.column - 1,ActiveCell.celladdress.row).value = now()
end if
End Sub
Non ti so rispondere alle altre domande
Cita messaggio
Grazie da: Marrio
#9
ottimo adesso metto risolto
Grazie mille
Cita messaggio
Grazie da:
#10
E' possibile creare una macro nella cella scelta per inibire il lavoro, ed associare a questa un pulsante, ed una macro per abilitare, anche questa con un pulsante associato.

   

Non sono un programmatore, ma mi diverto con excel e visualbasic.
Cita messaggio
Grazie da:


Vai al forum:


Utenti che stanno guardando questa discussione: 1 Ospite(i)